给emp表中员工起中文名 select e.ename from emp e; select e.ename, case e.ename when 'SMITH' then '曹贼' when 'ALLEN' then '大耳贼' when 'WARD' then '诸葛小儿' else '无名' end from emp e; --条件表达式的通用写法,mysql和oracle都可用 接下来省略else select e.ename, case e.ename when 'SMITH' the
oracle触发器加条件判断,如果某个字段,isnode=0,那么不执行下面的方法,数据如下: create or replace trigger tr_basestation_insert_emp before insert on BJLT.BASESTATION REFERENCING NEW AS new_val OLD AS old_val --在这里设置名字,然后可引用新值,旧值 for each row ) declare --local variables here begin i
oracle 批量更新之update case when then CreationTime--2018年8月7日15点51分 Author:Marydon 1.情景描述 根据表中同一字段不同情况下的值修改为对应的内容,如何实现? 使用case when then else end语句. 2.错误用法 没有else语句,将会导致全表更新 证实: 结果展示: 说明:更新的是全表记录,而不是更新的只是符合上面三种情况的记录: 不在情况范围内的,执行的是将该字段值置空,sql语句相当于: UPDA
一.简介 在oracle中start with connect by (prior) 用来对树形结构的数据进行查询.其中start with conditon 给出的是数据搜索范围, connect by后面给出了递归查询的条件,prior 关键字表示父数据,prior 条件表示子数据需要满足父数据的什么条件.如下 start with id= '10001' connect by prior parent_id= id and prior num = 5 表示查询id为10001,并且递归查询
--1:无ORDER BY排序的写法.(效率最高)--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM emp t WHERE hire_date BETWEEN TO_DATE ('20060501', 'yyyymmdd') AND TO_DATE ('20060731', 'yyyymmdd') ) table_alias ; --2:有ORD
SQL限制和排序数据 1.Oracle的Where条件值,字符串和日期都必须以单引号括起来. 模糊查询: like 'S%' 以S开头的任意字符 like 'S_' 以S开头的任意字符结尾的两个字符 like '_o%' 查找第二个字符是以O的字符串 _.%都是通配符,如果想将通配符转意成一般字符必须用到 ESCAPE 来定义转意字符例: select * from employees where JOB_ID like 'SH\_%' ESCAPE '\'; 2.排序 Oracle除了可以使用
各种oracle参数查询语句 1.show parameter:--显示各个系统参数配置 2.select * from v$parameter;--显示各个系统参数配置 2.show parameter 参数名;--显示具体参数的配置情况 3.select * from v$parameter where name='参数名';--显示具体参数的配置情况 4.select * from nls_database_parameters;--服务器字符集查询5.select * from nls_