Oracle 中相当于 SQL Server 的 IsNull() 函数的是什么?
在 SQL Server 中,我们可以输入 IsNull()
来确定字段是否为空。 PL/SQL 中有等效的函数吗?
In SQL Server we can type IsNull()
to determine if a field is null. Is there an equivalent function in PL/SQL?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Oracle 和 SQL Server 均支持
coalesce
,其功能与nvl
和isnull
基本相同。 (有一些重要的区别,coalesce
可以接受任意数量的参数,并返回第一个非空参数。isnull
的返回类型与第一个参数的类型匹配论,这对于coalesce
来说是不正确的,至少在 SQL Server 上是这样。)coalesce
is supported in both Oracle and SQL Server and serves essentially the same function asnvl
andisnull
. (There are some important differences,coalesce
can take an arbitrary number of arguments, and returns the first non-null one. The return type forisnull
matches the type of the first argument, that is not true forcoalesce
, at least on SQL Server.)使用
NVL()
,而不是ISNULL()
。T-SQL:
PL/SQL:
Instead of
ISNULL()
, useNVL()
.T-SQL:
PL/SQL:
如果您想从
field_to_check
返回其他值,也可以使用NVL2
,如下所示:用法:ORACLE/PLSQL:NVL2 函数
Also use
NVL2
as below if you want to return other value from thefield_to_check
:Usage: ORACLE/PLSQL: NVL2 FUNCTION
您可以使用条件
if x is not null then...
。这不是一个函数。还有NVL()
函数,这是一个很好的使用示例:NVL 函数参考。You can use the condition
if x is not null then...
. It's not a function. There's also theNVL()
function, a good example of usage here: NVL function ref.