oracle中between函数⽤法,Oracle常⽤函数使⽤介绍
trunc
⽤于截取时间或者数值,返回指定的值
example:
返回当⽉第⼀天
select trunc(sysdate,'MM') from dual;
result:2021-01-01 00:00:00
返回当年第⼀天
select trunc(sysdate,'yy') from dual
返回当前⽇期 格式为 yyyy-MM-dd :00:00:00
select trunc(sysdate) from dual
trunc(sysdate,'yyyy') --返回当年第⼀天。
trunc(sysdate,'mm') --返回当⽉第⼀天。
trunc(sysdate,'d') --返回当前星期的第⼀天。
trunc(sysdate,'dd')--返回当前年⽉⽇
months_between
MONTHS_BETWEEN返回⽇期date1和date2之间的⽉数。 如果date1晚于date2,则结果为正。 如果date1早于date2,则结果为负数。 如果date1和date2是⽉份的同⼀天或⽉份的最后⼏天,则结果始终是整数。 否则,Oracle数据库将基于31天的⽉份来计算结果的⼩数部分,并考虑时间组件date1和date2的差异。
example:
SELECT MONTHS_BETWEEN
(TO_DATE('02-02-1995','MM-DD-YYYY'),
TO_DATE('01-01-1995','MM-DD-YYYY') ) "Months"
FROM DUAL;
result:
1.03225806451612903225806451612903225806
cast
CAST()函数可以进⾏数据类型的转换。
语法:cast( 列名/值 as 数据类型 )
example:
将字符串转换为整型。
SELECT CAST('123' AS int) as result from dual;
ceil
ceil(n) 取⼤于等于数值n的最⼩整数;
add_months
add_months(time,months)可以得到某⼀时间之前或之后n个⽉的时间
example:
查询指定时间的下⼀个⽉的时间:
select add_months(sysdate,1) from dual;
last_day
LAST_DAY 函数返回指定⽇期对应⽉份的最后⼀天。结果为当前⽉最后⼀天 + 当前⽇期的时间
example:
select LAST_DAY(ADD_MONTHS(sysdate, 1)) from dual
execute result
2021-02-28 16:16:21
to_char
数值型或者⽇期型转化为字符型
函数返回描述例⼦
to_char(timestamp, text)text把 timestamp 转换成 stringto_char(timestamp 'now','HH12:MI:SS')
to_char(int, text)text把 int4/int8 转换成 stringto_char(125, '999')
to_char(float, text)text把 float4/float8 转换成 stringto_char(125.8, '999D9')
to_char(numeric, text)text把 numeric 转换成 stringto_char(numeric '-125.8', '999D99S')
获取⽇期⽉份字符串表现形式:
select TO_CHAR(sysdate,'MM') from dual;
abs
abs(n) 返回n的绝对值,该函数以任何数字数据类型或任何可以隐式转换为数字数据类型的⾮数字数据类型作为参数;函数返回与参数的数字数据类型相同的数据类型。
⽇期转换
to_date
example:
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
to_char
select to_char(sysdate,'YYYYMMDD') from dual
instr
字符查函数
instr()⽤法
格式⼀:
instr( C1, C2)
instr(源字符串, ⽬标字符串)
select instr('hellohello','h') from dual
返回结果:1,从1开始数,直到第⼀次出现h的位置
select instr('hellohello','ll') from dual
返回结果:3,从1开始数,知道第⼀次出现ll的位置
格式⼆:
instr( C1,C2,I,J )
instr(源字符串, ⽬标字符串, 起始位置, 匹配序号)
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 出现的位置,默认为1
在C1中搜索C2,从第 I 个位置开始搜索(包括这个I),直到出现第J次C2,返回这个序号,(I 也可以为负数,表⽰从倒数第⼀个位置开始数,但是返回的序号还是从正的数的那个序号)
⽰例:
select instr('hellohello','l',2,2) from dual;
返回结果:4 也就是说:在"hellohello"的第2(e)号位置开始,查第⼆次出现的“l”的位置
⽰例:
select instr('hellohello','l',-1,1) from dual;oracle中trunc函数用法
返回结果:9 也就是说:在"hellohello"的倒数第1(o)号位置开始,往回查第⼀次出现的“l”的位置,然后这个位置在正数的序号
decode
decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论