将FLOAT转换为SQL中的DATE?

问题描述 投票:0回答:2

我想知道如何将FLOAT值正确转换为DATE?

我们接收到的数据具有如下值:YYYYMM ex。 201911(今天的年份+月)。但是,在YYYYMM列下传递的所有值表示ex月份的第一天。 201911 = 11/01/2019。

RIGHT([DATE],2) + '/01/' + LEFT([DATE],4) AS [DATE]

[当我尝试对其进行转换时,它没有将其放入日期格式,因为我尝试在DATEADD函数中使用它,并且在转换的字段上出错。

sql tsql ssms
2个回答
0
投票
select convert(date, convert(varchar(255), yyyymm) + '01')

或者使用datefromparts()

select datefromparts(floor(yyyymm / 100), yyyymm % 100, 1)

0
投票
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

© www.soinside.com 2019 - 2024. All rights reserved.