IT *_*Han 3 sql sql-server oracle
我的代码:
select COALESCE (null, '')
from dual
Run Code Online (Sandbox Code Playgroud)
在Oracle中返回null结果,但是
select COALESCE (null, '')
Run Code Online (Sandbox Code Playgroud)
在SQL Server中返回一个''结果.
为什么这个结果有所不同?
它们是ANSI标准,应该不一样吗?
在Oracle文档中关于NULL
Oracle数据库将长度为零的字符值视为null.
Oracle在内部将空字符串更改为NULL值.Oracle根本不会允许插入一个空字符串.
select null from dual
Run Code Online (Sandbox Code Playgroud)
同样的
select '' from dual
Run Code Online (Sandbox Code Playgroud)
他们都归来了NULL.
因此,当您使用select COALESCE (null,'') from dual它时,它将转换为select COALESCE (null,null) from dualOracle.
这是一个关于此的链接.
| 归档时间: |
|
| 查看次数: |
222 次 |
| 最近记录: |