SQL函数-日期处理类函数
日期处理类函数
简介:
1.Oracle采用date类型表示日期时间,这是一个7字节的固定宽度的数据类型,有7个属性,包括:世纪、世纪中哪一年、月份、月中的哪一天、小时、分钟和秒。本文中把date类型称为日期时间类型,简称日期。
2.对编程语言来说,日期是用字符串来显示和书写的,如果设置了NLS_DATE_FORMAT环境变量,Oracle可以自动的对日期和字符串进行转换,但是,程序员更多的是采用to_char和to_date两个函数对日期和字符串进行转换。
1.日期格式转换成字符串(to_char)
语法:to_char(日期,格式)
功能:将日期格式转换成特定的字符串格式
例子:
/* 获取当前时间 sysdate是系统时间 */
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
/* 结果:2021-05-28 02:50:23 */
select to_char(sysdate,'yyyy/mm/dd hh24miss') from dual;
/* 结果:2021/05/28 031005 */
格式参数:加粗是常用的
d:一周中的星期几。
day:天的名字,使用空格填充到9个字符。
dd:月中的第几天。
ddd:年中的第几天。
dy:天的简写名。
iw:ISO标准的年中的第几周。
iyyy:ISO标准的四位年份。
yyyy:四位年份。
yyy,yy,y:年份的最后三位,两位,一位。
hh:小时,按12小时计。
hh24:小时,按24小时计。
mi:分。
ss:秒。
mm:月。
mon:月份的简写。
month:月份的全名。
w:该月的第几个星期。
ww:年中的第几个星期。
2.字符串格式转换成日期(to_date)
语法:to_date(字符串表示的日期,格式)
功能:将字符日期转换成指定格式的日期
例子:
/* 转换如下字符串 */
select to_date('2021-05-28 11:24:15','yyyy-mm-dd hh24:mi:ss') from dual;
/* 结果:28-MAY-21 */
/* to_date与to_char 结合使用 */
select to_char(to_date('2021-05-28 11:24:15','yyyy-mm-dd hh24:mi:ss'),'yyyy/mm/dd hh24miss') from dual;
/* 结果:2021/05/28 112415 */
3.日期运算类函数(add_months、months_between、last_day、next_day、extract、trunc)
备注:日期可以直接加数字,基本单位是天,如果加一个小时则应+1/24,加一秒同理。
语法:add_months(date,n)
功能:返回date+n月后的日期
例子:
/* 查询系统日期 */
select sysdate from dual;
/* 结果:28-MAY-21 */