SQL开始结束打印
我在sql server 2008中有以下tsql代码:SQL开始结束打印,sql,Sql,我在sql server 2008中有以下tsql代码: declare @ID INT SET @ID = 0 IF (@ID IS NOT NULL OR @ID <> 0) begin print 'ID is not 0 or null' end 既然@ID是0,为什么它甚至会进入开始-结束。。。不应该 使用和会让你更幸运 @ID不为Null,因此它满足OR语句一半的要求。如果您不想让它出现在打印中,那么应该使用AN
declare @ID INT
SET @ID = 0
IF (@ID IS NOT NULL OR @ID <> 0)
begin
print 'ID is not 0 or null'
end
既然@ID是0,为什么它甚至会进入开始-结束。。。不应该 使用和会让你更幸运
@ID不为Null,因此它满足OR语句一半的要求。如果您不想让它出现在打印中,那么应该使用AND。您的第一个条件@ID iS not NULL为true,因此它将进入内部并打印语句。很可能是有意义的AND not OR。那么它应该有你期望的结果
IF (@ID IS NOT NULL OR @ID <> 0)
由于@ID不为null,它进入开始-结束块。它符合@ID不为null部分。真或x等于真。我猜您可能想要,但只要@ID 0足够,就好像@ID为NULL一样,这无论如何都不是真的。
IF (@ID IS NOT NULL OR @ID <> 0)