Oracle常见函数

https://blog.csdn.net/KEEP_GIONG/article/details/80089703

一、字符函数

lower(char):将字符串转化为小写。


upper(char):将字符串转化为大写。


length(char):返回字符串的长度。注:lengthb(char)返回的是字节的长度,例如:length(char)=lengthb(char)用于判断是不是中文。

substr(char, m, n):截取字符串的子串,n代表取n个字符的意思,不是代表取到第n个。注:m等于0或者1都表示从第一个字符开始。


replace(char, sub_string, replace_string):把char字符串中的sub_string替换成replace_string。


instr(source_string,destination_string,start,total):source_string源字符,destination_string:目标字符,start:查找的开始位置,默认是1,total:查找第几次出现destination_string的位置,默认1。例如:select instr('abcabc','c',1,2) from dual;结果等于6。

rpad:在列的右边粘贴字符。例如:select rpad('oracle',10,'*') from dual;

lpad:在列的左边粘贴字符。例如:select lpad(rpad('oracle',10,'*'),15,'*')from dual;

二、数字函数

round(m,[n]):该函数用于执行四舍五入。例如:round(1.256,2),结果:1.26;round(168.256,-2),结果:200。

trunc(n,[m]):该函数用于截取数字。例如:trunc(1.256,2),结果:1.25;trunc(168.256,-2),结果:100例如:trunc(1.256),结果:1。

select trunc(sysdate)-1 from dual;

2017/6/29 
今天为2017/6/30,获得的是昨天的日期

trunc(date):为指定元素而截去的日期值。例如:select sysdate from dual;-----------2016/8/4 21:51:14 系统时间

                                                                             select trunc(sysdate,'yyyy') from dual;------2016/1/1  返回当年第一天
                                                                             select trunc(sysdate,'dd') from dual;------2016/8/4      返回当月第一天

                                                                             select trunc(sysdate,'d') from dual;------2016/7/31     返回当前星期的第一天

mod(m,n):取余函数。例如:mod(10,2),结果:0,mod(10,3),结果:1。

floor(n) :返回小于或是等于n的最大整数


ceil(n) :返回大于或是等于n的最小整数。例如:select floor(-1.25) from dual;

           ceil 两个时间相减默认的是天数;

           ceil 两个时间相减默认的是天数*24*60 为相差的分钟数

----10分钟以内的数据
CASE
	WHEN A.DEV_STATUS = 0 
	AND ceil(( SYSDATE - DEV_OPERATE_TIME ) * 24 * 60 ) <= 10 THEN
	'在线' 
		WHEN A.DEV_STATUS = 8 THEN
		'屏蔽' ELSE '--' 
		END zt,

abs(n) :返回数字n的绝对值。例如:select abs(-1.25) from dual;

三、日期函数

sysdate:返回系统时间。例如:select sysdate from dual;

add_months(time,months):函数可以得到某一时间之前或之后n个月的时间。例如:select add_months(sysdate,-6) from dual; --该查询的结果是当前时间半年前的时间。

四、转换函数

to_char()函数。例如:select to_char(sysdate,'yyyy-MM-dd hh24:mi:ss') from dual;

yy:两位数字的年份 2004-->04
yyyy:四位数字的年份 2004
mm:两位数字的月份 8 月-->08
dd:两位数字的天 30 号-->30
hh24: 8点-->20
hh12:8点-->08
mi、ss-->显示分钟\秒

to_date():用于将字符串转换成date类型的数据。例如:select to_date('2016-08-04','yyyy-MM-dd') from dual;

select SYSDATE from dual;
select TO_CHAR(SYSDATE,'yyyy-MM-dd') from dual;
select TO_CHAR(SYSDATE,'yyyy-MM-dd hh24:mi:ss') from dual;

select CASE 
	WHEN TO_CHAR(SYSDATE,'yyyy-MM-dd')='2020-04-01' THEN
		1
	ELSE
		0
END 别名
from dual;

select CASE 
	WHEN TO_DATE('2020-04-01 16:57:10', 'yyyy-MM-dd hh24:mi:ss')=SYSDATE THEN
		1
	ELSE
		0
END 别名
from dual;

四、其它函数

nvl():空值转换。例如:select nvl(null,'为空') from dual;

decode():它将输入数值与函数中的参数列表相比较。例如:select decode('N','x','女','y','男','不确定') from dual;

wm_concat(column):将多条记录的column字段组成一个用逗号隔开的字符串。例如:select wm_concat(ename) from emp;
 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值