Sql 将系统日期与日期后的天数进行比较
我有一张如下的桌子 表名payregSql 将系统日期与日期后的天数进行比较,sql,tsql,Sql,Tsql,我有一张如下的桌子 表名payreg +------+-----+------+ | A | b | c | +------+-----+------+ | NULL | YES | NULL | +------+-----+------+ 我想检查列是否为null,而不是抛出消息错误,如“A为null” 我尝试了以下方法: declare @bb varchar(100) set @bb=(select a from payreg ) if @bb is null and d
+------+-----+------+
| A | b | c |
+------+-----+------+
| NULL | YES | NULL |
+------+-----+------+
我想检查列是否为null,而不是抛出消息错误,如“A为null”
我尝试了以下方法:
declare @bb varchar(100)
set @bb=(select a from payreg )
if @bb is null and day(getdate())>=3
begin
print 'sorry'
end
上述SQL Transact已成功执行,但未打印错误消息
如果当前系统日期大于或等于第3天,我想将此列与系统日期进行比较,然后抛出错误“对不起”
但却没有得到它。如何解决这个问题?我认为你的例子一点也不清楚。“如果当前系统日期大于或等于第3天”是什么意思?您是否打算将当前系统日期与其他日期进行比较?如果是这样,那么其他日期从何而来?@Damien_不信者我不是在比较系统日期和其他日期。我只是将系统日期与天数进行比较,例如1到31天。如果当前系统日期大于第4天或第5天,则抛出如上所述的错误消息。如果我创建了一个名为
payreg
的表,请插入一行,该行与您显示的行类似,然后运行脚本,它会为我打印sorry
。因此,您的问题中缺少了一些东西,但我不知道是什么。@Damien_不信者,很抱歉,这对我来说真的不起作用,不知道为什么?。顺便说一句,如果您确实希望这是一个错误,您可能希望使用而不是打印,例如RAISERROR('Sorry',16,1)
将导致客户端工具(甚至只是ManagementStudio)将其报告为错误。