少有人使用的SQL语法以及定义

decode

decode(column_name,comparison,action, comparison,action, …else action)

decode语句将表列的内容与比较域(Comparison Field)的内容进行比较。如果相等,则执行decode语句后面的操作(Action);若不相等,则继续与下一个比较域进行比较。如果没有任何一个比较域与表列内容匹配,那么执行else后面的操作。

假设要做一个查询:按区域给客户分类,在密西西比河东的客户归入EAST,河西的客户归入WEST,下面看一下如何用decode完成这项工作:

在这里插入图片描述
此例说明了使用decode语句的作用,不像子查询(或称嵌套select)那样,如果没有找到相应的行查询就夭折。decode语句有else子句,它能够处理异常情况。总的来说,decode函数功能是非常强大的,它可以在SQL*Plus中实现逻辑控制。

SQL语句中永真条件和永假条件的用处:

1<>1 的用处:  
用于只取结构不取数据的场合 ;
1=1的用处:  
用于构造动态SQL语句中的where条件语句,方便拼接,例如原句:
select * from emp where 1=1 || conSql ;
而conSql :=’ and pemID=’||pIDvalue;
当判断conSql需要插入且值pIDvalue为001时候,则变成语句>>
select * from emp where 1=1 and pemID=‘001’;
当判断conSql不需要插入则conSql 为空字符时候则变成语句>>
select * from emp where 1=1;
后续有的话在此后补充与添加

猜你喜欢

转载自blog.csdn.net/annderlee/article/details/89473467