it-swarm.com.de

Konvertieren Sie das Datum JJJJ-MM-TT in eine Ganzzahl JJJJMM

Wie kann ich @dateb konvertieren:

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

das gibt 2014-04-04 als Datum auf eine ganze Zahl von 201404 zurück.

Vielen Dank

17

In Version 2012 oder höher können Sie die Funktion format verwenden, um nur Jahr und Monat abzurufen, und sie dann als int umwandeln.

In Versionen vor 2012 können Sie die Formatierung mit der Funktion convert durchführen und dann als int umwandeln.

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
20
Bob Klimes

Vielleicht etwas aufgeräumter:

SELECT YEAR(@dateb)*100 + MONTH(@dateb);
14
Aaron Bertrand