小编use*_*048的帖子

在子句不返回带有NULL字段的记录的地方使用ISNULL

表:

ID     AppType     AppSubType   Factor
1   SC  CD      1.0000000000
2   SC  CD      2.0000000000
3   SC  NULL    3.0000000000
4   SC  NULL    4.0000000000
Run Code Online (Sandbox Code Playgroud)

查询:

declare @ast varchar(10)

set @ast = null

select *
from tbl
where AppType = 'SC' and AppSubType = ISNULL(@ast, AppSubType)
Run Code Online (Sandbox Code Playgroud)

结果:

ID  AppType AppSubType  Factor
1   SC  CD  1.0000000000
2   SC  CD  2.0000000000
Run Code Online (Sandbox Code Playgroud)

题:

此查询不应该返回所有4条记录,而不仅仅是前2条吗?

sql isnull sql-server-2008

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

isnull ×1

sql ×1

sql-server-2008 ×1