【问题标题】: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 的回答!!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-05
        • 2019-03-07
        • 2019-10-03
        相关资源
        最近更新 更多