06oracle之条件表达式(case、decode)、多行函数、嵌套函数、分组子句的要求、Where和having的选择 |
您所在的位置:网站首页 › 多条件的函数 › 06oracle之条件表达式(case、decode)、多行函数、嵌套函数、分组子句的要求、Where和having的选择 |
条件表达式:
条件表达式的作用是:在SQL语句中使用判断的逻辑(类似于IF-THEN-ELSE)来呈现个性化的数据。 条件判断语句有两种: CASE 表达式:SQL99的语法,类似Basic,比较繁琐DECODE 函数:Oracle自己的语法,类似Java,比较简单其中: Decode函数也可以理解为解码翻译函数。![]() 语法解释: decode (字段名,要翻译的原始值1,翻译后的值1,…,其他不满足翻译条件的默认值) 示例: --需求:要将工种job的英文转换为中文 SELECT ename,job, DECODE(job,'CLERK','职员','SALESMAN','销售人员','MANAGER','经理','其他工种') FROM emp; 比如人的性别:一般数据库存放的是:0和1,2,在直接出报表的时候,就需要转换显示。 SELECT NAME 姓名, DECODE(sex,1,'男',0,'女','人妖') 性别 FROM TABLE; Case子句:![]() 示例: SELECT * FROM emp; --需求:要将工种job转换为中文 SELECT t.ename, CASE job WHEN 'CLERK' THEN '办事员' WHEN 'SALESMAN' THEN '销售人员' ELSE '其他人员' END FROM emp t; --两种语法--第二种很复杂。。。。---虽然复杂但灵活 SELECT t.ename, CASE WHEN job='CLERK' THEN '办事员' WHEN job='SALESMAN' THEN '销售人员' ELSE '其他人员' END FROM emp t;case子句增强 需求:查看公司员工的工资情况,要求显示员工的姓名、职位、工资、以及工资情况。如果是工资小于1000,则显示“工资过低”,工资大于1000小于5000为“工资适中”,工资大于5000的,则显示“工资过高”: SELECT ename,job,sal, CASE WHEN sal |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |