有数据表User,其中有字段Name。现在要检索记录:
SELECT Name From User
如果Name是NULL或‘’,显示“无名”,否则显示Name。怎样修改SELECT语句?
SELECT Name From User
如果Name是NULL或‘’,显示“无名”,否则显示Name。怎样修改SELECT语句?
解决方案 »
- 如何在winxp中安装sql和oracel
- Oracele 存储过程 游标循环?
- 不同数据库不同表结构的表之间数据转移
- 一个菜鸟删除数据的问题
- 有没有oracle和EXCEL的高手?
- SQL Server存储过程中的“MSG is not null”怎么改成Oracle的语句?
- SP2-0575: Oracle SQL 特征不位于 SQL92 Entry层-----这是怎么回事
- 一段SQL独立在SQL/PLUS中可以运行,写在过程里面就不对了?
- 刚装上oracle 9i如何用啊?用户名、口令是什么?
- oracle trigger insert触发问题
- 如何返回这样的游标值
- oracle字段截取问题,求救高手。
"如果Name是NULL或‘’"
=======================
在Oracle里 ''和NULL是一回事,是等价的to: 79bo(山芋)
你的写法有点赘述了select nvl(name,'无名')
或者
select decode(null,name,'无名',NAME)
2.select (case when name=null then '无名' when name='' then '无名' else name end) as name from user
上面2种方法等价
2.select (case when name=null then '无名' when name='' then '无名' else name end) as name from user
上面2种方法等价执行速度应该是前者有限吧