Oracle:NULL和<null>之间有什么区别?

时间:2017-04-27 06:32:01

标签: sql oracle

我尝试在Google中寻找答案,但没有找到任何结果,可能是因为尖括号。我知道NULL意味着什么,但<null>的目的是什么?

2 个答案:

答案 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>而不是代码示例:)。在回答这个问题时观察到。