今天整理下日期相关问题
1.完整时间:年月日时分秒
SELECT sysdate from dual; --执行结果:2017/4/21 15:19:20
格式化:YYYY-MM-DD hh:mi:ss
SELECT to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual; --执行结果:2017-04-21 03:21:31
2.完整日期:
select trunc(sysdate) from dual; --执行结果:2017/4/21
或者
select trunc(sysdate,'DD') from dual; --执行结果:2017/4/21
格式化:yyyy-mm-dd
select to_char(trunc(sysdate,'DD'),'yyyy-mm-dd') from dual;
3.截取时间:
select to_char(sysdate,'hh:mi:ss') from dual; --执行结果:04:04:57
可是我当前的时间是下午啊,想要显示成16点呢?
select to_char(sysdate,'hh24:mi:ss') from dual; --执行结果:16:06:40
逗逼的我曾经出过一个错误,尴尬尴尬的
select to_char(sysdate,'hh24:mm:ss') from dual; --执行结果:分钟一直一直都是04....注意mm和mi的区别
4.取当年的第一天:
select trunc(sysdate,'YY') from dual; --执行结果:2017/1/1
5.取当前月的第一天:
select trunc(sysdate,'MM') from dual; --执行结果:2017/4/1