oracle 常用函数(转)
数值型函数
abs:求绝对值函数,如:abs(?5) 5
sqrt:求平方根函数,如:sqrt(2) 1.41421356
power:求幂函数,如:power(2,3) 8
cos:求余弦三角函数,如:cos(3.14159) ?1
mod:求除法余数,如:mod(1600, 300) 100
ceil:求大于等于某数的最小整数,如:ceil(2.35) 3
floor:求小于等于某数的最大整数,如:floor(2.35) 2
round:按指定精度对十进制数四舍五入,如:round(45.923, 1),结果,45.9
round(45.923, 0),结果,46
round(45.923, ?1),结果,50
trunc:按指定精度截断十进制数,如:trunc(45.923, 1),结果,45.9
trunc(45.923),结果,45
trunc(45.923, ?1),结果, 40
使用数值型函数练习。
使用求绝对值函数abs。
Sql 代码
1. SELECT abs(?5) FROM dual;
SELECT abs(?5) FROM dual;
执行结果:
ABS(?5)
---------------
5
说明:求?5的绝对值,结果为5。
字符型函数
ascii:获得字符的ASCII码,如:Ascii('A') 65
chr:返回与ASCII码相应的字符,如:Chr(65) A
lower:将字符串转换成小写,如:lower ('SQL Course') sql course
upper:将字符串转换成大写,如:upper('SQL Course') SQL COURSE
initcap:将字符串转换成每个单词以大写开头,如:initcap('SQL course') Sql Course
concat:连接两个字符串 concat('SQL', ' Course') SQL Course
substr:给出起始位置和长度,返回子字符串,如:substr('String',1,3) Str
length:求字符串的长度 length('Wellcom') 7
instr:给出起始位置和出现的次数,求子字符串在字符串中出现的位置,如:instr('String', 'r',1,1) 3
lpad:用字符填充字符串左侧到指定长度,如:lpad('Hi',10,'-') --------Hi
rpad:用字符填充字符串右侧到指定长度,如:rpad('Hi',10,'-') Hi--------
trim:在一个字符串中去除另一个字符串,如:trim('S' FROM 'SSMITH') MITH
replace:用一个字符串替换另一个字符串中的子字符串,如:replace('ABC', 'B', 'D') ADC
如果不知道表的字段内容是大写还是小写,可以转换后比较。
输入并执行查询:
Sql 代码
1. SELECT empno, ename, deptno FROM emp
2. WHERE lower(ename) ='blake';
SELECT empno, ename, deptno FROM emp
WHERE lower(ename) ='blake';
结果为:
Sql代码
1. EMPNO ENAME DEPTNO
2. --------------- ---------- ------------------------
3. 7698 BLAKE 30
EMPNO ENAME DEPTNO
--------------- ---------- ------------------------
7698 BLAKE 30
说明:该查询将表中的雇员名转换成小写,与小写的blake进行比较。
日期函数
months_between:返回两个日期间的
月份,如:months_between ('04-11月-05','11-1月-01'),结果,57.7741935
add_months:返回把月份数加到日期上的新日期,如:add_months('06-2月-03',1),结果,06-3月-03
add_months('06-2月-03',-1),结果,06-1月-03
next_day:返回指定日期后的星期对应的新日期,如:next_day('06-2月-03','星期一'),结果,10-2月-03
last_day:返回指定日期所在的月的最后一天,如:last_day('06-2月-03'),结果,28-2月-03
round:按指定格式对日期进行四舍五入,如:round(to_date('13-2月-03'),'YEAR'),结果,01-1月-03
round(to_date('13-2月-03'),'MONTH'),结果,01-2月-03
round(to_date('13-2月-03'),'DAY'),结果,16-2月-03
(按周四舍五入)
trunc:对日期按指定方式进行截断,如:trunc(to_date('06-2月-03'),'YEAR'),结果,01-1月-03
trunc(to_date('06-2月-03'),'MONTH'),结果,01-2月-03
trunc(to_date('06-2月-03'),'DAY'),结果,02-2月-03
(按周截断)
返回2003年2月的最后一天。
输入并执行查询:<