我想知道如何将FLOAT值正确转换为DATE?
我们接收到的数据具有如下值:YYYYMM ex。 201911(今天的年份+月)。但是,在YYYYMM列下传递的所有值表示ex月份的第一天。 201911 = 11/01/2019。
RIGHT([DATE],2) + '/01/' + LEFT([DATE],4) AS [DATE]
[当我尝试对其进行转换时,它没有将其放入日期格式,因为我尝试在DATEADD函数中使用它,并且在转换的字段上出错。
select convert(date, convert(varchar(255), yyyymm) + '01')
或者使用datefromparts()
:
select datefromparts(floor(yyyymm / 100), yyyymm % 100, 1)
DECLARE @Date AS FLOAT;
SET @Date = 201911;
SELECT CONVERT(VARCHAR, CAST(CAST(LEFT(@Date,4) AS VARCHAR(4)) + '/01' + '/' + CAST(RIGHT(@Date,2) AS VARCHAR(2)) AS DATE) , 103) As CREATEDDATE
将输出11/01/2019