将int转换为Date

时间:2016-10-28 14:45:06

标签: sql-server date

如果我的数据库中的数据类型为int,如何在sql Server中转换为日期?

enter image description here

例如: 2016年第10个月第4周第5天

2 个答案:

答案 0 :(得分:3)

使用can DATEFROMPARTS功能

Select cast(cast(year as char(4))+'-'+cast(month as varchar(2))+'-'+cast(day as varchar(2)) as date) as dates
From yourtable

如果您使用的比2012少,那么

<html lang="es-ES">

答案 1 :(得分:0)

这是存储日期信息的一种非常可怕的方式。与之合作并且几乎无法验证是一种严重的痛苦。你真的应该使用本机日期数据类型来处理这类事情。

这样可以为您的样品提供所需的输出。我认为这就是你要找的东西。

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