我的数据库表中有一个名为 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 - 如何转换这样的值?我可以进行切换,但转换/转换让我感到困惑......
问问题
74 次
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 回答