在一个table中有field1,field2,field3,用户输入一个数据a,查询的时候当field1不为null时就以field1=a为查询条件,否则当field1为null,field2不为null就以field2=a为查询条件,最后当filed1,field2都为null时就用field3=a为查询条件。
解决方案 »
- bash: dgmgrl: command not found 求解
- 【挑战】标准SQL查找出第N条记录!
- oracle
- 求一个处理字符串的oracle 代码
- 为该监听程序提供的信息正由此计算机的其他软件使用-求解
- 请教如何将oracle表导入mysql当中
- 记录太多,导致内存溢出
- oracle视图求救
- 【求助】'OraOLEDB.Oracle.1' provider is not registered on the local machine是为什么
- 两台机子作快照,寻建立连接的语句。
- 求一个对表中记录分组的存储过程
- 向orcal插入数据,提示ORA-00911,怎么回事啊????????????急!!!!!!!!!!!!!!!!!!!!
where nvl(field1,nvl(field2,field3))=a;
select * from table where COALESCE(field1,field2,field3) = a;COALESCE (expr1, expr2, ..., exprn)相当于
CASE WHEN expr1 IS NOT NULL THEN expr1
ELSE COALESCE (expr2, ..., exprn) END