【发布时间】:2018-05-16 21:01:00
【问题描述】:
我在月份和年份中有 2 个变量,我想用这 2 个变量获取年份值。样本, 年=2018 月=5,我想要 '2018-05-01 00:00:000' 感谢您的帮助。
【问题讨论】:
-
你用的是什么数据库?
我在月份和年份中有 2 个变量,我想用这 2 个变量获取年份值。样本, 年=2018 月=5,我想要 '2018-05-01 00:00:000' 感谢您的帮助。
【问题讨论】:
试试这个
select cast(cast(year as varchar(max))+'-'+cast(month as varchar(max))+'-01' as datetime)
【讨论】:
varchar(max),我们已经知道年份是4,月份是两位数
如果 SQL Server 2012 或更高版本,您可以使用DATETIMEFROMPARTS
DECLARE @year INT = 2018
DECLARE @month INT = 5
SELECT DATETIMEFROMPARTS(@year, @month, 1, 0, 0, 0, 0)
【讨论】:
试试这个 .. 您只需将日期格式化为 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)
【讨论】: