当我的数据库中有int数据类型时,如何在sql Server中转换为date?
例如: 2016年第10个月第4周第5天
发布于 2016-10-28 22:46:26
使用can 函数
Select DATEFROMPARTS(Year,Month,Day) as Dates
From yourtable
如果您的使用量低于2012年,则
Select cast(cast(year as char(4))+'-'+cast(month as varchar(2))+'-'+cast(day as varchar(2)) as date) as dates
From yourtable
发布于 2016-10-28 23:14:49
这是一种非常可怕的存储日期信息的方式。使用它是一件非常痛苦的事情,而且几乎不可能验证。对于这种类型的事情,您确实应该使用原生日期数据类型。
这为您的样本生成了所需的输出。我想这就是你要找的。
create table #SomeDate
(
MyDay int
, MyWeek int
, MyMonth int
, MyYear int
)
insert #SomeDate
select 5, 4, 10, 2016
select dateadd(day, s.MyDay + 1, dateadd(week, s.MyWeek - 1, dateadd(month, s.MyMonth - 1, dateadd(year, s.MyYear - 1900, 0))))
from #SomeDate s
drop table #SomeDate
https://stackoverflow.com/questions/40307604
复制相似问题