本文对Oracle的Date格式转换做一下记录:
1.Sql中不区分大小写,例如MM和mm被认为是相同的格式代码,所以Oracle的Sql采用了mi来代表分钟;
所以:
select to_char(sysdate, 'yyyy-MM-dd HH24:mi:ss ') from dual; --mi表示的是当前的分 正确
select to_char(sysdate, 'yyyy-MM-dd HH24:mm:ss ') from dual; --mm表示的当前的月份
2.要以24小时的形式显示出来则要使用HH24;
3.to_date('要转换的字符串','转换格式'),即按照第二个参数的格式解释第一个参数
4.to_char('要转换的字符串','转换格式'),即把给定的日期按照“转换格式转换”
5.日期格式参数及其含义
D 数字表示的星期几(1:星期天)
DAY 全拼的星期名(MONDAY)
DD 数字表示月中的第几天(01~31)
DDD 数字表示年中的第几天(001~...)
DY 简写的星期名(MON)
IW 数字表示年中的第几周(01~...)
IYYY 四位年份
YYYY 四位年份
YYY,YY,Y 年份的后三位,两位一位
HH 小时,按12小时计
HH24 小时,按24小时计
MI 分
SS 秒
MM 月
MON 月份的简写(三位:FEB)
MONTH全拼的月份(FEBRUARY)
W 数字表示月中的第几周(1~...)
WW 数字表示年中的第几周(01~...)
6.日期时间间隔操作
当前时间减去7分钟的时间
select sysdate,sysdate - interval '7' MINUTE from dual;
当前时间减去7小时的时间
select sysdate,sysdate - interval '7' HOUR from dual;
当前时间减去7分钟的时间
select sysdate,sysdate - interval '7' DAY from dual;
当前时间减去7分钟的时间
select sysdate,sysdate - interval '7' MONTH from dual;
当前时间减去7分钟的时间
select sysdate,sysdate - interval '7' YEAR from dual;
时间间隔乘以一个数字
select sysdate,sysdate - 3*interval '7' HOUR from dual;