YYYY-মিমি পূর্ণসংখ্যায় yyyy-mm-dd রূপান্তর করার তারিখ


17

আমি কীভাবে @ তারিখকে রূপান্তর করতে পারি:

SET @dateb = dateadd(month, datediff(month, 0, getdate()) - 3, 0)

যেটি 2014-04-04একটি পূর্ণসংখ্যার তারিখ হিসাবে প্রত্যাবর্তন করে201404

ধন্যবাদ

উত্তর:


19

সংস্করণ 2012 বা ততোধিক সংস্করণে আপনি formatকেবল বছর এবং মাস পেতে ফাংশনটি ব্যবহার করতে পারেন , তারপরে এটি কোনও int হিসাবে কাস্ট করতে পারেন।

২০১২ এর পূর্ববর্তী সংস্করণগুলিতে আপনি convertফাংশনটির সাথে ফর্ম্যাট করতে পারেন , তারপরে ইন্ট হিসাবে কাস্ট করুন।

declare @dateb datetime
set @dateb = getdate()

select cast(format(@dateb,'yyyyMM') as int) --2012 or higher
select cast(convert(varchar(6),@dateb,112) as int) -- all versions


13

সম্ভবত কিছুটা সাশ্রয়ী:

SELECT YEAR(@dateb)*100 + MONTH(@dateb);

1
আমি মনপ্রাণ দিয়ে এই সঙ্গে একমত। আপনার একটি তারিখ রয়েছে, যার পূর্ণসংখ্যার উপক্ষেত্র রয়েছে; আপনি একটি পূর্ণসংখ্যা চান কেন পৃথিবীতে কোনও স্ট্রিং প্রসেসিং হয়?
রস প্রেসার

-1

এটি কি আপনার জন্য কৌশলটি করতে পারে?

set @dateb = cast(convert(varchar, dateadd(month, datediff(month, 0, getdate()) - 3, 0), 112) as int)

আহ দুঃখিত, আমি ভুলে গেছি, আপনারও একটি স্ট্রিং দরকার হবে। তাই এটা:

select cast(substring(convert(varchar, dateadd(month, datediff(month, 0, getdate()) - 3, 0), 112), 0, 7) as int)


-1

অন্য পদ্ধতি:

DECLARE @PeriodToCalculate_DATE [DATE] ='2016-02-29'

SELECT 
   CAST(DATEPART(YYYY,@PeriodToCalculate_DATE) AS [CHAR](4))
       + RIGHT('0' + CAST(DATEPART(M,@PeriodToCalculate_DATE) AS [VARCHAR](2)),2)  
       + RIGHT('0' + CAST(DATEPART(D,@PeriodToCalculate_DATE) AS [VARCHAR](2)),2);

দেয়: 20160229

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.