select nvl2(field1 and field2,'Y','N') from tablename where c;
nvl2只适用于oracle9i
nvl2只适用于oracle9i
解决方案 »
- 怎么查询数据的插入的时间
- 求一个更新的SQL语句 请大师指教!
- 谁来解释下ORA-00100和ORA-01403,ORA-01422和ORA-02112
- ORA-01480 trailing null missing from STR (STR 赋值变量缺少空后缀)
- sql语句
- 请问这个update如何写
- ORACLE 在本机WIN2000 上装了服务器端后,还需要装客户端才能进行数据库的一般操作吗?
- 日期格式转换问题!!
- 问一下关于Clob的问题,20分奉送别嫌少!
- 在oracle9i中,连接被拒绝?
- sql Develper 是个什么东东啊?它与Sqlplus 有什么关系没有啊?
- 如何在ORACLE8。1。6中的SQLPLUS中用INSERT 插入日期和时间值?
from tablename where c
SELECT CASE WHEN field1 is null and field2 is null THEN ‘Y’
ELSE ‘N’END
FROM tablename where c;
楼主的问题甚至可以采用可以采用更简单的方法来解决:
SELECT NVL2(FIELD1||FIELD2,‘Y’,‘N’) FROM tablename where c;
NVL2(EXPR,VAL1,VAL2)函数的作用是当EXPR为空时,返回VAL1,否则返回VAL2
当然FIELD1||FIELD2 IS NULL 等价于 FIELD1 IS NULL AND FIELD2 IS NULL
ORACLE中好象逻辑变量好象不能直接与TRUE和FALSE进行比较吧。
伪码为:select decode ( field1 , null , decode ( field2 , null , 'y','n') , 'n')
from tablename