DATETIME OR VARCHAR,该怎么解决
DATETIME OR VARCHARSQL codedeclare @a datetimeselect @ayear(getdate())select @agodeclare @a varcha
DATETIME OR VARCHAR
SQL codedeclare @a datetimeselect @a=year(getdate())select @agodeclare @a varchar(20)select @a=year(getdate())select @a-----------------------1905-07-06 00:00:00.000(1 行受影响)--------------------2012(1 行受影响)
这是为啥阿,结果不一样。变成1905年了。
[解决办法]第一个:
declare @a datetime 定义日期类型变量@a
select @a=year(getdate()) 给日期@a赋值 @a = 2012相当于 @a = DATEAdd ( day , 2012 , '1900-01-01' )
select @a 所以返回值应该是DATEAdd ( day , 2012 , '1900-01-01' )
第二个:
declare @a varchar(20) 定义可变字符串类型变量@a
select @a=year(getdate()) 给字符串赋值 @a = 2012
select @a 所以返回值就是2012