Oracle单行函数用法
单行函数分为五种类型:字符函数、数值函数、日期函数、转换函数、通用函数。
1.字符函数:
对于输入的字符转换为需要转为的字符或数值。
upper()大写
--小写字母转为大写字母

--对于表指定的字符转大写

--对于指定列字符转大写

lower() 大写字母转小写
--大写字母转小写

--对指定的值转小写

INITCAP()
第一个字母转为大写

--表一列首字母转为大写

concat() 和 ||
拼接字符串
--将两个字符拼接起来
--使用concat()

--使用 ||

---拼接实例
select 列 || 列 from employees;
select concat(列,列) from employees;

substr() 字符串截取
用法:substr(字符串,第几位开始截取,截取的长度)。
在Oracle数据库中substr的截取的开始点在第0位和第1位都是一样的效果。在实际应用程序开发中需要注意。
---从第一位字符开始截取两位字符

---例:截取英文名的三位,正序截取和倒序截取,倒序使用负号 -
从前往后截取

从后往前截取

length() 字符串长度
--计算字符串长度

replace() 替换
用法:replace(原字符,要替换的原字符或单个字符,替换后的字符)
--把指定的字符替换

2.数值函数
round() 四舍五入
用法:round(数值,截取长度)
--默认在小数第一位四舍五入

--四舍五入到截取小数点后三位小数

--整数位四舍五入,指定截取位置的参数为负数

trunc() 截断小数
用法:trunc(数值,截取长度)
截取掉小数位,不进行四舍五入过程。
--截取的小数之后的位置

--指定截取长度,但不会四舍五入

---截取的位数是负数

mod() 取余
用法:mod(除数,被除数)

3.日期函数
sysdate 查询当前日期

日期-数字=日期
日期+数字=日期
日期-日期=数字(天数)
--求入职天数

可以使用trunc截断小数取整

last_date( ) 本月的最后的一天

add_months( )
语法:add_months(日期字段,数值)
数值是查询从当天日期开始,查询前几个月的今天用负数,查询后几个月的用正数。


---查询表入职日期加俩月

months_between( )
语法:months_between( 对比的日期,指定日期),
指定的日期小于对比的日期查询结果为正数,反之为负数。
查询对比日期与指定日期相差月数

--查询s_date入职日期到2020年相差几个月

next_day( )
语法:next_day(指定日期,指定日期下周的第一天)


current_date
返回当前查询窗口的日期

current_timestamp()
返回的日期和时间是根据时区转换过的日期

拓展:
使用current_timestamp时候,在数据发生变化时,字段将会更新为系统时间

dbtimezone
返回时区

extract()
查找日期字段值

localtimestamp
返回会话中的日期

Y或YY或YYY或YYYY, M 或MM , D 或DD
返回日期最后几位


syear转换
日期转换

Q
Q 返回当前日期所在的季度

RM
返回罗马数字月份

Month
返回当前月份

WW
返回当前处于第几周

W
查询当前处于本月第几周

DDD
查询处于当年第几天

DD
查询处于当月第几天

D
查询处于本周第几天

DY
查找周内第几日

HH或HH24
小时,HH默认12小时制,HH24为24小时制。

MI
分钟
--查询当前第几分钟

SS
秒

4.转换函数
to_char() 转换成字符串

日期格式转换

to_number () 字符转换成数字

to_date() 字符串转换成日期
年:YYYY, 月:MM , 日 :DD,时:HH24 , 分:MI ,秒 :SS
5.通用函数
NVL() 函数,数值出现null(空)情况 。

decode()函数
类似用法: if....else或 case……when ……then ……end
用法:decode(列/表达式,值1,结果1,值2,结果2……)


浙公网安备 33010602011771号