Oracle 单行函数
来源:互联网 发布:法院拍卖房产淘宝网址 编辑:程序博客网 时间:2024/06/03 09:28
字符函数
select lower('Hello World') 转小写,upper('Hello World') 转大写, initcap('hello world') 首字母大写 from dual;
转小写 转大写 首字母大写 ----------- ----------- ----------- hello world HELLO WORLD Hello World
substr(a,b) 从a中,第b位开始取,取右边所有的字符
select substr('Hello World',3) from dual;
SUBSTR('H --------- llo World
substr(a,b,c) 从a中,第b位开始取,取c位
select substr('Hello World',3,4) from dual;
SUBS ---- llo
length 字符数 lengthb字节数
select length('Hello World') 字符,lengthb('Hello World') 字节 from dual;
字符 字节 ---------- ---------- 11 11
select length('中国') 字符,lengthb('中国') 字节 from dual
字符 字节 ---------- ---------- 2 4
instr(a,b): 在a中,查找b
select instr('Hello World','ll') 位置 from dual;
位置 ---------- 3
lpad 左填充 rpad右填充
– abcd —> 10位
select lpad('abcd',10,'*') 左,rpad('abcd',10,'*') 右 from dual;
左 右 ---------- ---------- ******abcd abcd******
trim
select trim('H' from 'Hello WorldH') from dual;
TRIM('H'FR ---------- ello World
replace
select replace('Hello World','l','*') from dual;
REPLACE('HE ----------- He**o Wor*d
四舍五入
select round(45.926,2) 一,round(45.926,1) 二,round(45.926,0) 三, round(45.926,-1) 四,round(45.926,-2) 五 from dual;
一 二 三 四 五 ---------- ---------- ---------- ---------- ---------- 45.93 45.9 46 50 0
当前系统时间
select sysdate from dual;
SYSDATE --------------09-2月 -15
to_char
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
TO_CHAR(SYSDATE,'YY ------------------- 2015-02-09 14:26:47
昨天 今天 明天
select (sysdate-1) 昨天,sysdate 今天,(sysdate+1) 明天 from dual;
昨天 今天 明天 -------------- -------------- --------------08-2月 -15 09-2月 -15 10-2月 -15
计算员工的工龄:天 星期 月 年
select ename,hiredate,(sysdate-hiredate) 天,(sysdate-hiredate)/7 星期, (sysdate-hiredate)/30 月,(sysdate-hiredate)/365 年 from emp;
73个月后
select add_months(sysdate,73) from dual;
ADD_MONTHS(SYS -------------- 09-3月 -21
最后一天
select last_day(sysdate) from dual;
LAST_DAY(SYSDA -------------- 28-2月 -15
next_day
select next_day(sysdate,'星期一') from dual;
NEXT_DAY(SYSDA -------------- 16-2月 -15
next_day的应用:每个星期一自动备份数据
1. 分布式数据库
2. 快照snapshot
对日期四舍五入和截断
select round(sysdate,'month'),round(sysdate,'year') from dual;
ROUND(SYSDATE, ROUND(SYSDATE, -------------- -------------- 01-2月 -15 01-1月 -15
转换函数
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
TO_CHAR(SYSDATE,'YY ------------------- 2015-02-09 14:52:54
查询员工薪水:两位小数,千位符,货币代码
select to_char(sal,'L9,999.99') from emp;
TO_CHAR(SAL,'L9,999 ------------------- ¥800.00 ¥1,600.00 ¥1,250.00 ¥2,975.00
通用函数
nvl2(a,b,c)当a=null的时候,返回c;否则返回b
select sal*12+nvl2(comm,comm,0) from emp;
SAL*12+NVL2(COMM,COMM,0) ------------------------ 9600 19500 15500 35700 16400 34200
nullif(a,b) 当a=b时候,返回null,否则返回a
select nullif('abc','abc') 值 from dual;
值 ---
select nullif('abcd','abc') 值 from dual;
值 ---- abcd
coalesce 从左到右找到第一个不为null的值
select comm,sal,coalesce(comm,sal) "第一个不为null的值" from emp;
COMM SAL 第一个不为null的值 ---------- ---------- ------------------ 800 800 300 1600 300 500 1250 500 2975 2975 1400 1250 1400
条件表达式
给员工涨工资,总裁1000 经理800 其他400
select ename,job,sal 涨前, case job when 'PRESIDENT' then sal+1000 when 'MANAGER' then sal+800 else sal+400 end 涨后 from emp;
ENAME JOB 涨前 涨后 ---------- --------- ---------- ---------- SMITH CLERK 800 1200 ALLEN SALESMAN 1600 2000 WARD SALESMAN 1250 1650 JONES MANAGER 2975 3775
decode 条件表达式
select ename,job,sal 涨前, decode(job,'PRESIDENT',sal+1000, 'MANAGER',sal+800, sal+400) 涨后 from emp;
ENAME JOB 涨前 涨后 ---------- --------- ---------- ---------- SMITH CLERK 800 1200 ALLEN SALESMAN 1600 2000 WARD SALESMAN 1250 1650 JONES MANAGER 2975 3775
0 0
- oracle单行函数
- oracle单行函数
- Oracle单行函数笔记
- oracle单行函数详解
- Oracle(三)-------------------单行函数
- oracle单行函数详解
- oracle单行函数详解
- Oracle单行函数
- oracle单行函数详解
- oracle单行函数
- oracle单行函数
- oracle 单行函数详解
- oracle 单行函数介绍
- Oracle单行函数
- Oracle之单行函数
- Oracle学习----单行函数
- Oracle单行函数
- oracle常用单行函数
- poj 1637 Sightseeing tour(混合图欧拉路径判定 最大流)
- hdu 3247 Resource Archiver (ac自动机+BFS+状压dp)
- cocos2d-x CCDirector在Windows平台,Android平台,ios平台分析和用途-----沈大海
- [BZOJ 1588] HNOI 2002 营业额统计
- 网络连接,文件的读写
- Oracle 单行函数
- 深入分析Cocos2d-x 2.0中的“纹理”和精灵--------沈大海
- HTML5 canvas 在线画笔绘图工具(二)
- Cocos2d-x连接Mina NIO服务器要点
- poj1942 递推
- 0006 嘿嘿
- Yarn简单介绍及内存配置
- Cocos2d-x 3.0final -Vector&map&value
- 《数据结构编程实验》 2.2.1Self Numbers