在下面这个例子中为什么除了"NAME1"之外所有在oracle 11g中都给出了null.
如果我明确提到空间它需要空间否则为空而不是空字符串.请帮我澄清一下.
在NAME2中,我指定了空格,但仍然给出了空格.
select
NVL(NAME,' ') AS NAME1,
NVL(NAME,'') AS NAME2,
NVL(NAME,NULL) AS NAME3,
NAME AS NAME4
from employee
Run Code Online (Sandbox Code Playgroud)
输出:
(空间),NULL,NULL,NULL
因为在Oracle中,ZERO长度varchar被视为NULL.
在你的例子中
NVL(NAME, ' ') AS NAME1 will evaluate to either NAME or ' ' - empty string.
NVL(NAME, '') as NAME2 will evaluate to either NAME or a zero length string
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8237 次 |
| 最近记录: |