为什么当我在sql中使用<>时它没有获得null值

mys*_*lls 2 sql string oracle null

示例我在column_name"color"上有以下记录:blue,red,green,null ...当我执行select查询时.. select*from table_name其中color <> red ... sql应返回除那些之外的所有记录有红色的颜色,对吗?为什么它没有显示那些颜色为null的值?谢谢!

Mat*_*nen 6

一般来说,任何比较都会NULL返回false.如果您还想获取NULL行,则必须明确要求它们:

color <> 'red' OR color IS NULL
Run Code Online (Sandbox Code Playgroud)

  • Nitpick - 与NULL的比较返回UNKNOWN.当然,在许多情况下,UNKNOWN无论如何都被视为FALSE. (4认同)