是否可以设置一个变量,其中年份是变量?是否可以使用动态年份的SQL日期?
例如,
而不是
SET @Date1 = '2014-01-25 00:00:00.000';
我想
SET @Year = 2014 int;
SET @Date1 = '@Year-01-25 00:00:00.000';
是否可以设置一个变量,其中年份是变量?是否可以使用动态年份的SQL日期?
例如,
而不是
SET @Date1 = '2014-01-25 00:00:00.000';
我想
SET @Year = 2014 int;
SET @Date1 = '@Year-01-25 00:00:00.000';
是
很多不同的方式,包括DATEFROMPARTS(年,月,日)
@Date1 = DATEFROMPARTS (2014,01,25)
还包括cast(),这取决于数据库引擎。 –
这是SQL Server ** 2012 **中的**新功能**,在早期版本中不可用 –
尝试
SET @Date1 = CONVERT(datetime, CONVERT(varchar(4), @Year) + '-01-25', 102)
这一数字102的第三个参数是用来转换的风格。您可以在此处看到完整样式列表:http://msdn.microsoft.com/en-us/library/ms187928.aspx 向下滚动到Date and Time styles
'SET @ Date1 = @Year +'-01-25 00:00:00.000''然而,年份必须是字符串。 – paqogomez
@paqogomez Msg 206,Level 16,State 2,Line 16 操作数类型冲突:int与日期不兼容 – pgunston
SET @ Date1 = CONVERT(VARCHAR,@Year)+'-01-25 00:00:00.000''将@年份转换为字符串,就像@paqogomez在他的评论中所述。 –