【问题标题】:SQL Server date time convertSQL Server 日期时间转换
【发布时间】:2017-06-27 05:12:11
【问题描述】:
我的数据库表中有一个名为 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 - 如何转换这样的值?我可以进行切换,但转换/转换让我感到困惑......
【问题讨论】:
标签:
sql
sql-server
datetime
type-conversion
sql-convert
【解决方案1】:
您需要定义一个开始日期(通过参数或在 CTE 中),然后只需使用 dateadd()
@StartDate = '2016-10-01 00:00:00'
select dateadd(mm, t1.month, @StartDate) as NewMonth
from MyTable t1
【解决方案2】:
另一个回应是
SELECT CONVERT(DATE, '2016-' + CAST(id AS VARCHAR(2)) + '-01') AS myDate
FROM T1
但你更喜欢 JohmHC 的回答!!