+为表查询方式nvl用法:
nvl是专为处理null的函数。
NVL(字段,字段为空时显示的字符);
如果一个表table_name 中有字段 name ,
select nvl(name,'姓名为空') from table_name;
显示结果为:
张三
李四
姓名为空 (此时的字段是空值null)
nvl是专为处理null的函数。
NVL(字段,字段为空时显示的字符);
如果一个表table_name 中有字段 name ,
select nvl(name,'姓名为空') from table_name;
显示结果为:
张三
李四
姓名为空 (此时的字段是空值null)
解决方案 »
- 1
- 求助oracle查询:
- oracle更新偶数行数据
- ORACLE数据库中sqlldr.exe 工具可以提取出来独立使用么?把与之关联的DLL等文件提取出来,该怎么做?
- oracle处理德文数据的问题
- 基础查询问题
- 请问如何把字符串的日期'20050123101113'转换成日期格式2005-1-23 10:11:13?
- 关于Oracle的登录问题,请高人指点
- redhat9下oracl9带的occi例子编译不过!!提示如下. 无SQLException定义库
- 同一个账号,可以登录sqlplus,为什么登录不了toad
- 这样SQL语句怎么写?
- 寻找plsql developer完全文档:100分
select nvl(name,'姓名为空') from table_name where id=10;
则返回no rows selected,而不是'姓名为空',为什么?
当
select name from table_name where id=10;
没有结果时(no rows selected) , 显示'姓名为空',应该如何写呢?
nvl應該明白了,高手多啊,+ 和 MS Server 中的Right Join 是一樣,表示是按照左邊的表還是右邊的表進行檢索.
更重要的是这里举的例子只是一个大查询的一部分,如果返回no rows 则我整个查询都会没有结果。所以最后一个问题还是有现实意义的。
else
"无记录“
这条语句关键在于ID=10的记录不存在,那么查询不会返回行。
如果需要要求必须返回,那么要求这条记录存在,
可以用(+)来使其出现这条记录的。