oracle 常用函数
1.字符串函数
lower(char) 将整个字符串转换为小写
示例:select lower('DALiA') from dual; =>dalia
replace(char ,str1,str2) 将char中出现的每个str1替换成str2
示例:select replace('Scott','S','Boy') from dual;=>boycott
substr(char ,m ,n) 从char中第m 个字符开始去n个字符
示例: select substr('ABCDEF',4,2) from dual; =>DE
length(char) 返回char 的长度
示例:select length('Marissa') from dual; =>7
rpad(expr1,n,expr2) 在expr1右边补充n个expr2
示例:select rpad('Amanda',10,'0') from dual; =>Amanda0000
initcap(char) 将char 中每个单元的第一个字符该为大写
示例:select initcap('shane k') from dual; => Shane K
2.数字函数
ceil(n) 返回大于或等于n的最近整数
示例:select cell(12.3) from dual; =>13
floor(n) 返回小于或等于n的最近的整数
示例:select floor(127.6) from dual; =>127
round(n,m) 将 n四舍五入 保留小数点后m位
示例:select round(579.34886,3) from dual; => 579.349
power(m,n) m的n次幂
示例:select power(5,3) from dual; =>125
mod(m,n) 返回m除以n后的余数 如果=0 返回0 如果n>m 返回m
示例:select mode(9,5) from dual; =>4
select mode(10,5) from dual; =>0
select mode(6,7) from dual; =>6
sqrt(n) 返回n 的平方根
示例:select sprt(n) from dual; =>3
3 聚集函数
count(expr) 返回所选行中expr 列非空的数量
示例:select count(cust_id) from customers where cust_state_province = 'NY'; =>34
avg(expr) 返回所选行的expr 列的平均值
示例: select avg(amount_sold) from saleswhere prod_id = 117;=>9
sum(expr) 返回所选行的expr列的总和
示例:select sum(amount_sold) from sales where prod_id = 117; =>4567
min(expr) 返回所选行的 expr 列的最小值
示例: select sum(prod_list_price) from products; =>6.99
max(expr) 返回所选行的expr 列的最大值
示例:select max(prod_list_price) from products; =>1288
4日期函数
Sysdate 返回当前系统的日期 也可以用to_char 函数来获取时间
示例: select Sysdate from dual;
Last_day(date) 返回日期所在月份的最后一天
示例:select last_day('17-MAR-08') from dual;
Add_months(d,n) 在日期d 基础上增加或减少 n 个月
示例:select add_months('21-APR-08',2) from dual;
months_between(d1,d2) 返回日期 d1 和日期 d2之间相差的天数
示例:select months_between('17-MAR-61','21-APR-62') from dual;
next_day(d,day) 返回日期d之后day天(一周中的星期几) 后对应的日期
示例: select next_day('01-FEB-08','Sturday') from dual;
current_timestamp 返回相对时区的当前时间戳
示例:select sessiontimezone current_timestamp from dual;
5 特殊格式的日期数据类型
Y 或YY 或YYY 年的最后一位,两位或三位
示例:select to_char(sysdate,'YYY') from dual;
Q 年的季度
示例:select to_char(sysdate,'Q') from dual;
MM 月份
示例:select to_char(sysdate,'MM') from dual;
Month 月份的名称 ,9个字符
示例:select to_char(sysdate,'Month') from dual;
WW 一年中的第几周
示例: select to_char(sysdate,'WW') from dual;
W 某月的第几周
示例: select to_char(sysdate,'W') from dual;
DDD 一年的第几天
示例: select to_char(sysdate,'DDD') from dual;
DD 某月的第几天
示例: select to_char(sysdate,'DD') from dual;
D 一周的第几天(1-7)
示例: select to_char(sysdate,'D') from dual;