【问题标题】:sql get date with year and monthsql获取年月日期
【发布时间】:2018-05-16 21:01:00
【问题描述】:

我在月份和年份中有 2 个变量,我想用这 2 个变量获取年份值。样本, 年=2018 月=5,我想要 '2018-05-01 00:00:000' 感谢您的帮助。

【问题讨论】:

  • 你用的是什么数据库?

标签: sql date


【解决方案1】:

试试这个

select cast(cast(year as varchar(max))+'-'+cast(month as varchar(max))+'-01' as datetime)

【讨论】:

  • 不需要破折号和varchar(max),我们已经知道年份是4,月份是两位数
【解决方案2】:

如果 SQL Server 2012 或更高版本,您可以使用DATETIMEFROMPARTS

DECLARE @year INT = 2018
DECLARE @month INT = 5

SELECT DATETIMEFROMPARTS(@year, @month, 1, 0, 0, 0, 0)

【讨论】:

    【解决方案3】:

    试试这个 .. 您只需将日期格式化为 SQL SERVER 的20180501

    declare @mm smallint = 5, @yy smallint = 2018
    

    -- 使用CONCAT

    select cast(concat(cast(@yy as varchar(4)),right(concat('0',@mm),2),'01') as datetime)
    

    --旧的连接方法

    select cast(cast(@yy as varchar(4))+right(concat('0',@mm),2)+'01' as datetime)
    

    【讨论】:

      猜你喜欢
      • 2016-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多