Oracle的函数
单行函数
字符函数:lower() 转为小写 select lower('HIBV') from dual;
upper() 转为大写 select upper('sfa') from dual;
initcap()首字母大写select initcap('sfa') from dual;
concat()连接字符串select comcat(属性1,属性2) from 表名;
substr()剪切字符串 select last_name,substr(last_name,3) name from s_emp; 减掉last_name属性中字母的前三位,(为-3时剪去后三位)
length()字符串长度 select length(‘dsfdsgg’) from dual
数值函数:round(值,小数点后位数) 四舍五入select round(3.2649816,3)
trunc(值,位数) 截取(保留小数点几位,多余的舍去)
mod(num1,num2) 取余相当于%
ABS(x) x的绝对值
ceil(x) 向上取整
floor(x) 向下取整
power(x,y) x的y次方
select abs(-1),ceil(2.2),floor(3.3),power(2,3),mod(5,2),round(4.55),trunc(10/3,2) from dual;
ABS(-1) CEIL(2.2) FLOOR(3.3) POWER(2,3) MOD(5,2) ROUND(4.55) TRUNC(10/3,2)
---------- ---------- ---------- ---------- ---------- ----------- - -----------
1 3 3 8 1 5 3.33
日期函数:
add_months 从该日期往后推几个月 select add_months(sysdate,3) from dual; 当前日期增加三个月
next_day 下个星期几是几号select next_day(sysdate,'星期一') from dual; 当前日期的下个星期一是几号
last_day 月底日期 select last_day(sysdate) from dual; 这个月月底是几号
round() 对日期进行四舍五入select round(sysdate,'day'),round(sysdate,'month') from dual;
多行函数
max 最大值
min 最小值
count 个数
avg 平均数
stddev 标准差
variance 方差
其他函数 nvl(属性,值1)该属性若为null则替换为值1显示(数据库中值不变)
nvl2(属性,处理1,处理2)该属性若不为空,执行处理1,为空则执行处理2
decode (字段,条件,执行体,条件,执行体,条件,执行体……,公共处理)
如过字段中的值满足某个条件,则执行其后面的执行体,如果都没有,则执行公共处理
转换函数
to_char 转为字符串
to_date 转为日期
to_number 转为数字
字符含义:
D 星期几
DD 一个月第几天
DDD 一年第几天
YEAR 英文年份
MONTH 英文全称月份
mon 简写英语月份
ddsp 英语一个月第几天
ddspth 英语序列数第几天
day 英文全称星期
dy 英文简写星期
hh 小时
mi 分钟
ss 秒
9 表示位置占位
0 占位(真实数据位数不足用0补齐)
$ 美元
L 表示¥
fm 格式化