我尝试在Google中寻找答案,但没有找到任何结果,可能是因为尖括号。我知道NULL
意味着什么,但<null>
的目的是什么?
答案 0 :(得分:1)
<null>
不是oracle语法的一部分,您的IDE或控制台可能会使用它来在查询结果中打印出空值。
空值的唯一有效表示实际上是NULL
。试试吧:
-- OK:
select NULL from dual
-- Syntax error:
select <null> from dual
-- Syntax OK, but not a null value:
select '<null>' from dual
答案 1 :(得分:0)
在Sql中null
被视为未知值,您可以将其表示为null
,而不是<null>
,
<null>
被视为一个字符串,如果你给<null>
没有单引号,它会给你缺少表达式错误,因为它有<
&amp; >
常用的关系运算符。
因此,<null>
和null
没有任何关系。
为了提高您的理解,有些问题可以解决,
select null col from dual; -- Gives 1 row.
select <null> col from dual; -- Missing expression Error
select * from (select 'null' col from dual) where col is null; -- Gives no records
select * from (select '<null>' col from dual) where col is null; -- Gives no records
select * from (select null col from dual) where col is null; -- Returns 1 row
额外提示:在stackoverflow中,您无法键入/显示<null>
而不是代码示例:)。在回答这个问题时观察到。