【oracle】常用函数总结

1)大小控制函数
1.lower('HELLO')
hello //全小写
2.upper("hello")
HELLO //全大写
3.initcap('java')
Java
2)字符控制函数
1.concat('hello','world')
helloworld //字符串拼接
2.substr('helloworld',2,4)
ello //从第2个开始,第4个结束;负数则反向
3.length('helloworld')
10 //字符串长度
4.lpad(salary,10,'*')/lpad(salary,10,' ')
查询薪资,结果一共10位,不够10位的,在“左边”用‘*/ 空格补齐(相当于右对齐)

rpad同理。
5.trim('h' from 'helloworld')
Elloworld //移除掉所有的‘h'
6.replace('abcdab','b','m')
amcdam //用'm'替换‘a‘
7.strcat('x')=x1x2x3....(行的拼接)要和 group by 连用
3)日期函数

日期函数用于处理date类型的数据,两个日期相减返回日期之间相差的天数

日期不允许做加法运算,无意义。

常见代表符号:yyyy 年,mm 月,dd 日,hh 小时,mi 分钟,ss 秒,day 星期

默认情况下日期格式是 dd-mon-yy 即 09-7月-21

函数说明举例结果
sysdate返回系统时间select sysdate from dual;2021-07-09 10:28:58
months_between(m, n)日期m和日期n相差多少个月select months_between(‘09-7月-21’,‘09-1月-21’) from dual;6
add_months(d, n)在日期d上增加n个月数select add_months(‘09-7月-21’,4) from dual;2021-11-09 00:00:00
next_day(d, ‘星期*’)指定日期d下一个星期*对应的日期select next_day(‘10-7月-21’,‘星期六’) from dual;2021-07-17 00:00:00
last_day(d)返回指定日期d所在月份的最后一天select last_day(‘09-7月-21’) from dual;2021-07-31 00:00:00
extract(month from d)从日期d上提取月份数1⃣️select extract (year from sysdate) year, extract (month from sysdate) month, extract (day from sysdate) day from dual;
或者
2⃣️select extract (year from date ‘2021-07-09’) year, extract (month from date’2021-07-09’) month, extract (day from date ‘2021-07-09’) day from dual;
2021 7 9
round(d, time)日期的四舍五入1⃣️select round(to_date(‘09-7月-21’),‘month’) from dual;//四舍五入到月份
2⃣️select round(to_date(‘09-7月-21’),‘year’) from dual;//四舍五入到年份
1⃣️2021-07-01
2⃣️2022-01-01
trunc(d, time)日期的截取1⃣️select trunc(to_date(‘09-7月-21’),‘month’) from dual;//截取到月份
2⃣️select trunc(to_date(‘09-7月-21’),‘year’) from dual;//截取到年份
1⃣️2021-07-01
2⃣️2021-01-01
4)取整函数
1 trunc(value,precision)按精度(precision)截取某个数字,不进行舍入操作。

2 round(value,precision)根据给定的精度(precision)输入数值。

3 ceil (value) 产生大于或等于指定值(value)的最小整数。
	select ceil(23.33) from dual;
	24

4 floor(value)与 ceil()相反,产生小于或等于指定值(value)的最小整数。
	select floor(23.33) from dual;
	23

5 sign(value) 与绝对值函数ABS()相反。ABS()给出的是值的量而不是其符号,sign(value)则给出值的符号而不	是量。
	select sign(23) from dual;
	1(正号)
	select sign(23) from dual;
	-1(负号)

6.abs(value) 返回绝对值
	select abs(-9) from dual;
	9(绝对值)
5)trunc函数
-- trunc用法
select trunc(sysdate)from dual;
--2021-07-09 00:00:00,返回当前时间
select trunc(sysdate, 'yyyy')from dual;
--2021-01-01 00:00:00,返回当年第一天
select trunc(sysdate, 'mm')from dual;
--2021-07-01 00:00:00,返回当月的第一天
select trunc(sysdate, 'd')from dual;
--2021-07-04 00:00:00,返回当前星期的第一天,即星期天
select trunc(sysdate, 'dd')from dual;
--2021-07-09 00:00:00,返回当前日期,今天是2021-07-09
select trunc(sysdate, 'iw')from dual;
--2021-07-05 00:00:00,返回当前星期的第一天,即星期一
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨幂等

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值