PL / SQL NVL函数返回任何字符串

时间:2018-02-12 07:52:15

标签: plsql oracle11g

我想将var替换为任何字符串,如果它是NULL。

SELECT x FROM tbl1 
WHERE x = NVL(:var, '%%')

就像这样,但是' %%'不工作我必须做什么?

1 个答案:

答案 0 :(得分:1)

您可以使用LIKE条件

  

LIKE条件通过搜索第二个

指定的模式的第一个值来匹配一个字符值的一部分与另一个字符值的一部分
SELECT x FROM tbl1 
WHERE x like NVL(:var, '%%')

@William Robertson评论是正确的,你不需要多个(或双倍)%

  

模式中的百分号(%)可以匹配零个或多个字符

SELECT x FROM tbl1 
WHERE x like NVL(:var, '%')