SQL CASE语句的使用】的更多相关文章

SQL CASE语句的使用 CASE是一个控制流语句,其作用与IF-THEN-ELSE语句非常相似,可根据数据选择值. CASE语句遍历条件并在满足第一个条件时返回值. 因此,一旦条件成立,它将短路,从而忽略后面的子句并返回结果. 正如我们在今天的博客中看到的那样,它可以用来测试条件和离散值. 基本语法 CASE语句有两种形式: 第一种评估一个或多个条件,并返回第一个符合条件的结果. 如果没有条件是符合的,则返回ELSE子句部分的结果,如果没有ELSE部分,则返回NULL: CASE WHEN…
case具有两种格式.简单case函数和case搜索函数.  1.简单case函数 case sex when ’1’ then ’男’ when ’2’ then ’女’else ’其他’ end 2. case搜索函数 case when sex = ’1’ then ’男’when sex = ’2’ then ’女’else ’其他’ end 这两种方式,可以实现相同的功能.简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要注…
-----简单case 使用 select 学号,姓名, case 专业 when '金融系' then '1' when '材料成型及控制工程' then '2' else '3' end from stu…
大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的.在SQL的世界中CASE语句语句有类似的效果.下面简单的介绍CASE语句的用法.考虑下面的情况,假设有个user表,定义如下: CREATE TABLE USER   (   NAME VARCHAR(20) NOT NULL,---姓名   SEX INTEGER,---性别(1.男   2.女)   BIRTHDAY DATE---生日   );  CREATE TABLE USER(NAME VARCHAR(20) NOT N…
CASE 语句可以在SELECT 子句和ORDER BY 子句中使用 CASE语句分为两种Case Simple Expression and Case Search Expression Case Simple Expression: CASE Column1 WHEN V1 THEN R1 WHEN V2 THEN R2 ELSE R3 END Case Search Expression CASE WHEN C1=V1 THEN R1 WHEN C2=V2 THEN R2 ELSE R3…
(使用scott账户下的表) 1.Oracle SQL语句的case语句写法: --sql中的case用于分支判断并返回某个值. select empno , ename, deptno , case deptno when 10 then '总经办' when 20 then '综管部' when 30 then '市场部' else '其他' end from emp; select empno , ename, deptno , case when deptno=10 then '总经办'…
大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的.在SQL的世界中CASE语句语句有类似的效果.下面简单的介绍CASE语句的用法.考虑下面的情况,假设有个user表,定义如下: CREATE TABLE USER   (   NAME VARCHAR(20) NOT NULL,---姓名   SEX INTEGER,---性别(1.男   2.女)   BIRTHDAY DATE---生日   );  CREATE TABLE USER(NAME VARCHAR(20) NOT N…
背景:性能应该是功能的一个重要参考,特别是在大数据的背景之下!写SQL语句时如果仅考虑业务逻辑,而不去考虑语句效率问题,有可能导致严重的效率问题,导致功能不可用或者资源消耗过大.其中的一种情况是,处理每日增量数据的程序,实际执行过程中可能会进行全表扫描,效率与全量程序并无二致. 案例: mio_log数据量:134,092,418条记录 freph_a01_fromtask3数据量:176,581,388条记录 生产系统上按照业务处理逻辑编写的SQL语句核心代码如下: SELECT (CASE…
set serveroutput on; declare --默认值的bianliang v_a ; -- v_b integer; --用stud.id 的类型 v_id stud.id%type; -- nm stud.name%type; begin nm:='jack'; v_id:; DBMS_OUTPUT.PUT_LINE('你的名字是:'||nm||'你的id'||v_id); end; ---调用splql需要权限 grant debug connect session to 用…
1:Union语句: 把两个结果合为一体(但是完全重复的数据会去掉) Eg1: select name, age, ‘学生无工资’ from student        union          select name, age, sal from teacher Eg2: select top 2  CONVERT(varchar(20),itemId) itemid, fee, addDate  from Orders union select '合计',SUM(fee),GETDAT…