小编Dub*_*Dub的帖子

SQL'%'外卡字符是否捕获空值?

最近我遇到了一个查询问题,该问题没有返回它预期返回的所有内容.按条件选择的部分查询如下:

AND field LIKE 
    CASE WHEN @val = 1 THEN
        '%' 
    ELSE
        'N'
    END
Run Code Online (Sandbox Code Playgroud)

现在,当@val为1时,我希望这段代码基本上什么也不做,就像基本上接受任何值的条件一样,包括空值.

我错了吗?如果是这样,有没有人有解决方案?我正在思考一些事情

AND field LIKE 
    CASE WHEN @val = 1 THEN
        '%' OR ISNULL(field)
    ELSE
        'N'
    END
Run Code Online (Sandbox Code Playgroud)

但是SQL并不像那样工作,但这基本上就是我想要实现的目标.

谢谢大家,如果这是重复,我很抱歉,我找不到答案.

sql sql-server

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

标签 统计

sql ×1

sql-server ×1