我希望通过使用年,月和日功能获取日期。实施例
declare @Date smalldatetime
select @Date = Year('20140530') + Month('20140530') + Day('20140530')
我想要的是分配@Date =' 20140530'作为smalldatetime。但我想通过类似于上述表达的方式来做到这一点。我怎样才能做到这一点。提前谢谢。
答案 0 :(得分:2)
而是尝试下面的内容
declare @Date varchar(20)
select @Date = cast(Year('20140530') as varchar) +
cast(Month('20140530') as varchar) +
cast(Day('20140530') as varchar)
select @Date
结果为:2014530
。
(或)如下
declare @Date VARCHAR(20)
select @Date = cast(Year('20140530') as varchar) + '-' +
cast(Month('20140530') as varchar) + '-' +
cast(Day('20140530') as varchar)
select cast(@Date as smalldatetime)
结果为:2014-05-30 00:00:00
Year()/Month()/DaY()
函数将年/月/日返回为整数。你实际在做什么可以模拟如下
declare @Date smalldatetime
set @Date = 2049
select @Date
将导致:1905-08-12 00:00:00
答案 1 :(得分:0)
使用赞,Set
会在@Date
而不是select
declare @Date smalldatetime
set @Date = Year('20140530') + Month('20140530') + Day('20140530')
print @Date