Sql server SQL Server存储过程-如果没有数据,将向变量返回什么?
如果,请在MS SQL Server 2008存储过程中使用以下代码:Sql server SQL Server存储过程-如果没有数据,将向变量返回什么?,sql-server,Sql Server,如果,请在MS SQL Server 2008存储过程中使用以下代码: DECLARE @PROD_ID VARCHAR(20) SELECT @PROD_ID = MYTABLE.PROD FROM MYTABLE WHERE MYTABLE.DEVID = @DEVCODE DEVCODE不存在,PROD_ID将包含什么?我试过打印它,但它打印的似乎是一个空间。然而,测试它的空间失败了。此外,NULL测试失败。或者,我应该以另一种方式测试是否为空 谢谢你
DECLARE @PROD_ID VARCHAR(20)
SELECT @PROD_ID = MYTABLE.PROD
FROM MYTABLE
WHERE MYTABLE.DEVID = @DEVCODE
DEVCODE不存在,PROD_ID将包含什么?我试过打印它,但它打印的似乎是一个空间。然而,测试它的空间失败了。此外,NULL测试失败。或者,我应该以另一种方式测试是否为空
谢谢你的阅读
如果
@DEVCODE
不存在,BBz@PROD\u ID
应保持为空
您是否正确地使用
...@PROD_ID IS NULL...
而不是尝试测试
...@PROD_ID = NULL...
哪个不正确?如果@DEVCODE id不存在,那么@PROD\u id将保持为空 不能在SELECT@PROD\U ID=。。。语句,因为它根本不会返回任何记录 但是,您可以执行以下操作:
DECLARE @PROD_ID VARCHAR(20)
SELECT @PROD_ID = MYTABLE.PROD
FROM MYTABLE
WHERE MYTABLE.DEVID = @DEVCODE
IF (@PROD_ID is null) BEGIN
-- do something
END
太好了,谢谢。还有一件很容易忽略的事情:sNo我不是,我是在尝试使用“=”。非常感谢你的指点!