0

我的数据库表中有一个名为 Month 的字段,该字段将其值保存为 INT 它的值是 1 到 12 - 我想要一种将 1 转换为读取 1-11-2016 00:00:00 的方法,即作为日期时间字段, 2 读取 1-12-2016 00:00:00, 3 读取 1-1-2017 00:00:00 - 如何转换这样的值?我可以进行切换,但转换/转换让我感到困惑......

4

2 回答 2

0

另一个回应是

SELECT CONVERT(DATE, '2016-' + CAST(id AS VARCHAR(2)) + '-01') AS myDate
FROM T1

但你更喜欢 JohmHC 的答案!

于 2017-02-10T17:40:30.617 回答
0

您需要定义一个开始日期(通过参数或在 CTE 中),然后只需使用 dateadd()

@StartDate = '2016-10-01 00:00:00'

select dateadd(mm, t1.month, @StartDate) as NewMonth
from MyTable t1
于 2017-02-09T09:20:00.460 回答