Oracle函数
一.字符函数
(1)大小写控制函数
lower():全部小写
select LOWER('SMITH') "CLERK" from DUAL;
upper():全部大写
SELECT UPPER('last_name') "Uppercase"
FROM dual;
initcap():首字母大写
SELECT INITCAP('the soap') "Capitals"
FROM DUAL;
(2)字符控制函数
1.concat
eg:
2.substr
substr('要截取的字符串',起始位置)
说明:位置从1开始
substr('要截取的字符,起始位置,取几个字符)
3.length('字符串'):字符个数统计
lengthb('字符串'):字节个数统计
4.instr('大字符串','小字符串')返回小字符串在大字符串中出现的位置
select instr('corporate floor','or', 3,2) "inserting" from dual;
select instr('corporate floor','or', -3,2) "inserting" from dual;
5.lpad()和rpad()
6.trim()
二.日期函数
(1).日期函数
--TO_CHAR 转换成字符串类型
select to_char (sysdate,'YYYY"年"fmMM"月"fmDD"日"HH24:MI:SS') FROM dual;
--TO_DATE转换成日期类型
select to_date('2013-07-13','yyyy-mm-dd') from dual;
(2).日期相减
2.两个日期相差的月数
三.转换函数
(1).隐式转换
(2).显式转换
01.to_char()对日期的转换
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
02.to_char()对数字的转换
四.数字函数
1.Round():四舍五入
select round(12.45,1) from dual
2.trunc:截断
、
五.通用函数
nvl和nvl2 滤空函数
select sal*12工资,comm 奖金,sal*12+nvl(comm,0) from emp;
select sal*12工资,comm 奖金,sal*12+nvl2(comm,comm,0) from emp;
六.decode函数
select product_id,
decode(warehouse_id,1,'Southlake',
2,'San Francisco',
3,'New Jersey',
4,'Seattle',
'Non domestic') "Location"
from inventories where product_id< 1775 order by product_id,"Location"