war*_*990 1 sql sql-server sql-server-2008
我有以下代码
DECLARE @a INT
SET @a = 1
SELECT TOP 1
@a = id
FROM
test
WHERE
name = 'notexist'
SELECT @a
Run Code Online (Sandbox Code Playgroud)
如果语句没有找到任何行,变量@a仍然有值,如果语句没有找到任何行,是否可以在不添加before语句的情况下将变量设置为 null ?1SELECT@aSELECTSET @a = NULLSELECT
尝试这个
SELECT TOP 1
@a = id
FROM
test
WHERE
name = 'notexist'
If @@rowcount = 0
set @a = NULL
Run Code Online (Sandbox Code Playgroud)
或者
set @a = case when @@rowcount = 0 then null else @a end
Run Code Online (Sandbox Code Playgroud)
但最好避免 的初始化1。默认情况下它将是NULL
| 归档时间: |
|
| 查看次数: |
15145 次 |
| 最近记录: |