常见字符函数
select lower('HELLO'),upper('hello'),initcap('HeLlo') from dual;--hello HELLO Hello
select trim('H' from 'HelloHH'),ltrim('HelloHH','H'),rtrim('HelloHH','H') from dual;--ello elloHH Hello
select lpad(1000,7,'*'),rpad(1000,7,'*') from dual;--***1000 1000***
select instr('hello tom','tom')from dual;--7
select substr('hello',3,2)from dual;--ll
select concat('my','tom'),length('tom') from dual;--mytom 3
select replace('hello','h','k') from dual;--kello
常见数值函数
四舍五入:
select round(123.456,2),round(123.456,-2),round(123.456,0),round(123.456) from dual;--123.46 100 123 123
去尾:
select trunc(123.456,2),trunc(123.456,-2),trunc(123.456,0),trunc(123.456) from dual;--123.45 100 123 123
求模(取余):
select mod(12,7) from dual;--5
常见日期函数
sysdate 获取系统当前时间(数据库)
months_between 两个日期间的相差月数
add_months 获取几个月后的日期
last_day 本月最后一天
extract 日期中某部分值
select sysdate from dual;--2016-11-15 11.22.50
select sysdate+2 from dual;--2016-11-17 11.22.52
select sysdate+12/24 from dual;--2016-11-15 23.24.22
select add_months(sysdate,3) from dual;--2017-02-15 11.25.33
select user_name ,months_between(sysdate,create_date) months1,trunc(months_between(sysdate,create_date))months2 from um_user where user_name='王国勇';--王国勇 3.44782818100358422939068100358422939068 3
select last_day(sysdate) from dual;--2016-11-30 11.31.51
select extract(year from sysdate) from dual;--2016
select extract(month from sysdate) from dual;--11
select extract(day from sysdate) from dual;--15
常见转换函数
年:year,yyyy,yy;月:month,mon,mm;日:DAY(monday),DY(mon),D(1)
select to_char(sysdate,'YYYY-MM-DD') from dual;--2016-11-15
L:表示本地货币符号;$:直接显示;9:表示数值;0:直接显示,强制占位
select to_char(123.4,'L9,999,999.00') from dual;-- ¥123.40
select to_date('2016-11-11','YYYY-MM-DD') from dual;--2016-11-11 00.00.00
MAX,MIN:用在字符、数值、日期类;sum,avg:用在数值类型;count:统计表达式值不为空的行数
select max(create_date),min(create_date),max(group_id),min(group_id) from um_user;--2016-11-10 16.39.01 2004-10-26 09.34.34 902 60
select count(*) from dual;--1
聚合函数
在select子句中出现的非分组列,必须出现在group by 子句中。
select *|{[distinct]列|表达式[[as]列别名],...}
from 表名
[where 条件]
[group by 列,...]--根据指定的列进行分组统计
[having分组条件]--限定显示分组后的数据
[order by 列|列别名|表达式|序号[asc|desc],...];
网友评论