Oracle if else if for case】的更多相关文章

  oracle 批量更新之update case when then CreationTime--2018年8月7日15点51分 Author:Marydon 1.情景描述 根据表中同一字段不同情况下的值修改为对应的内容,如何实现? 使用case when then else end语句. 2.错误用法 没有else语句,将会导致全表更新 证实: 结果展示: 说明:更新的是全表记录,而不是更新的只是符合上面三种情况的记录: 不在情况范围内的,执行的是将该字段值置空,sql语句相当于: UPDA…
最近又碰到行专列问题了,当时不假思索用的是子查询,做完后我询问面试管行专列标正的写法应该如何写,他告诉我说应该用"Decode",索性我就总结一下,一共三种方式 --=========建表语句 CREATE TABLE populations( country VARCHAR2(20), sex INT, populcation INT ); --=========插入记录 insert into populations (COUNTRY, SEX, POPULCATION) valu…
------------------游标+for+if else if DECLARE cursor s_cursor is SELECT * from emp;--定义游标 begin for r in s_cursor loop--循环 if r.deptno=10--if判断 then dbms_output.put_line('名字:'||r.ename||'sal'||r.sal); else if r.deptno=20 then dbms_output.put_line('名字:'…
关于sql中单引号和双引号的使用,来一点说明: 1. 查询列的别名如果含有汉字或者特殊字符(如以'_'开头),需要用双引号引起来.而且只能用双引号,单引号是不可以的. 2. 如果想让某列返回固定的值,而且这个返回值是varchar类型的,返回值需要用单引号引起来.而且只能用单引号,双引号是不可以的. 例子1: a)查询列中有"_"开头的列名时,需要用双引号引起来. b)使用"case"关键字,根据分数直接判断是否及格. create table tbl_score(…
----创建测试表 create table student_score( name varchar2(20), subject varchar2(20), score number(4,1) ); -----插入测试数据 insert into student_score (name,subject,score)values('张三','语文',78); insert into student_score (name,subject,score)values('张三','数学',88); in…
使用NVL的时候只能对值进行是否为空的判断,基本语法是NVL( 值1, ,结果2).它的功能是如果值1为空,则此函数返回结果2,不为空的话直接输出值1(如果两个参数都为空,那么还是返回空): NVL2我理解为NVL的升级版,基本语法是NVL2(值1,结果3,结果2),多了一个结果3在中间,功能是当值1不为空的时候,此函数返回结果3,如果写成NVL2(值1,结果1,结果2),那么效果就等同于NVL(值1,结果2)了: DECODE函数再次升级,基本表达式DECODE(值1,条件1,结果1,条件2,…
一般我们出分档数据都是case when ,但是如果是对年龄等一些字段进行细分,比如五岁一档,我们如果用case when就会特别麻烦,写的特别多,这里我介绍一种简单的方法,对细分的字段进行处理: 建表: create table dim_ia_age (age varchar2(50)) 源数据为: 取分档年龄sql: select age,case when age<20 then '20以下' when age<60 then floor(age/5)*5 ||'-'|| (floor(…
1.创建table create table test01( id int not null primary key, name ) not null, gender ) not null, age int not null, address ) default ‘地址不详’ not null, regdata date ); 约束 非空约束 not null 主键约束 primary key 外键约束 唯一约束 unique 检查约束 check 联合主键 constraint pk_id_u…
[转自] http://blog.csdn.net/t0nsha/article/details/7828538 Oracle sql语句中不支持boolean类型(decode&case) 版本信息: SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterpri…
1. Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 如下: select case when t.a = '2' then '是1' else '不是1' end A from AAA t…