急救!高手帮忙看看我的sql程序,我觉得太没道理了。
declare @Add_num int
declare @EndDate0 datetime
declare @EndDate datetime
set @Add_num=10
set @EndDate0=null -- ' '或其他时间值都能打印出来,就是null不行。
if(@EndDate0=null or @EndDate0 <getdate() or (convert(varchar(30),@EndDate0))+ ' '= ' ')
begin
set EndDate0=getdate()
end
set @EndDate=DATEADD(year,@Add_num,@EndDate0)
set @EndDate=convert(datetime,Datename(year,@EndDate)+
'- '+Datename(month,@EndDate)+
'- '+Datename(day,@EndDate))
print @EndDate
这里为什么打印不出来值?
[解决办法]
@EndDate0=null
-----
改为 @EndDate0 is null
[解决办法]
值跟null的比较应该是
@a is null
@a is not null