select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
select systimestamp from dual;
select dbtimezone from dual;
-- 结果为 2018-11-30,2018-10-31
select
to_char(add_months(to_date('2018-10-31','yyyy-mm-dd'),1),'yyyy-mm-dd'),
to_char(add_months(to_date('2018-09-30','yyyy-mm-dd'),1),'yyyy-mm-dd')
from dual;
select last_day(sysdate) from dual;
select next_day(to_date('2018-11-12','yyyy-mm-dd'),'星期四') from dual;
select extract(year from timestamp '2018-11-12 15:36:01') as year,
extract(month from timestamp '2018-11-12 15:36:01') as month,
extract(day from timestamp '2018-11-12 15:36:01') as day,
extract(minute from timestamp '2018-11-12 15:36:01') as minute,
extract(second from timestamp '2018-11-12 15:36:01') as second
from dual;
select months_between(to_date('2018-11-12', 'yyyy-mm-dd'),
to_date('2017-11-12', 'yyyy-mm-dd')) as zs, --整数
months_between(to_date('2018-11-12', 'yyyy-mm-dd'),
to_date('2017-10-11', 'yyyy-mm-dd')) as xs, --小数
months_between(to_date('2017-11-12', 'yyyy-mm-dd'),
to_date('2018-10-12', 'yyyy-mm-dd')) as fs --负数
from dual;
select sysdate, --当前时间
round(sysdate, 'yyyy') as year, --按年
round(sysdate, 'mm') as month, --按月
round(sysdate, 'dd') as day, --按天
round(sysdate) as mr_day, --默认不填按天
round(sysdate, 'hh24') as hour --按小时
from dual;
select sysdate, --当前时间
trunc(sysdate, 'yyyy') as year, --按年
trunc(sysdate, 'mm') as month, --按月
trunc(sysdate, 'dd') as day, --按天
trunc(sysdate) as mr_day, --默认不填按天
trunc(sysdate, 'hh24') as hour --按小时
from dual;
数值函数
函数
解释
ABS(X)
求数值X的绝对值
COS(X)
求数值X的余弦
ACOS(X)
求数值X的反余弦
CEIL(X)
向上取整
FLOOR(X)
向下取整
log(x,y)
求x为底y的对数
mod(x,y)
求x除以y的余数
power(x,y)
求x的y次幂
sqrt(x)
求x的平方根
round(x[,y])
求数值x在y位进行四舍五入。y默认为0,可以为负数
trunc(x[,y])
求数值x在y位进行直接截取。y默认为0,可以为负数
转换函数
函数
解释
asciistr(x)
把字符串转换为数据库字符集对应的ASCII值
bin_to_num(x1[x2...])
二进制数值转换为十进制数值
cast(x as type)
把x转换为type类型的数据
convert(x,d_chset[,r_chset])
对字符串x按原字符集r_chset转换为目标字符集d_chset
to_char(x[,f])
把字符串或时间类型x按格式f转换为字符串
to_date(x[,f])
把字符串x按照格式f转换为时间类型
to_number(x[,f])
把字符串x按照格式f转换为数值类型
其中数值的格式f可以参考下表:
参数
示例
说明
9
999
指定位置返回数字
.
99.9
指定小数点的位置
,
99,9
指定位置返回一个逗号
$
$99.9
指定开头返回一个美元符号
EEEE
9.99EEEE
指定科学计数法
聚合函数
函数
解释
AVG([distinct ] expr)
求列或列组成的表达式expr的平均值
count(*|[distinct]expr)
计算查询结果的条数或行数
MAX([distinct] expr)
指定列或列组成的表达式expr中的最大值
MIN([distinct] expr)
指定列或列组成的表达式expr中的最小值
SUM([distinct] expr)
对指定列或列组成的表达式expr进行求和
select classno, avg(t.age) from stuinfo t where t.age < 30 group by t.classno;
select classno, sum(age), count(*), sum(age) / count(*), avg(age) from stuinfo t where t.age < 30 group by t.classno;