这个问题是关于 Oracle 数据库的。我想知道 Oracle DB 查询 LIKE 子句如何处理 NULL 值。
Select * From table_name where column_name like 'text%'
在上面的查询中,Oracle 数据库如何处理列 'column_name' 具有空值的行?还有'不喜欢'怎么样。
另外,我观察到没有为以下查询选择具有 NULL 值的行。
Select * From table_name where column_name NOT LIKE 'text%' .
我不知道为什么列的具有 NULL 值的行不在结果中,即使它们是空的,因此不像 'text%' 。
最佳答案
NULL
值基本上无法进行所有比较。一般的想法是 NULL
表示“我不知道值是什么”。因此,当您将 like
与模式 'text%'
一起使用时,答案是“我不知道值是什么”。它是 NULL
。
如果你使用not like
,答案是一样的“我不知道结果是什么”。
这就是 NULL
的工作原理。即使使用 like
和 not like
。即使使用 Oracle。
关于sql - Oracle DB LIKE 查询 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38765774/