常常为各式各样的日期和时间问题困扰,总结了一些常用的日期和时间的语句,希望对大家有所帮助:
一:日期转字符
1. 加上24就是以24小时计时方式。
--select to_char(sysdate, 'yyyymmdd hh24mmss') from dual 执行结果:20190108 180105
-- select to_char(sysdate, 'yyyymmdd hhmmss') from dual 执行结果:20190108 060105
这里和java中的还不一样:大写HH和小写hh
new SimpleDateFormat("yyyyMMdd hhmmss").format(new Date());//输出:20190108 061501
new SimpleDateFormat("yyyyMMdd HHmmss").format(new Date());//输出:20190108 181501
二:字符转日期
1. --select to_date('20180103 18:42:00', 'yyyymmdd HH24:MI:SS') from dual //精确到秒级的
2.--select date'2017-12-01' from dual //简洁日期式的
三:查询指定的日期
---trunc()函数的用法
1.select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') from dual 本月第一天,上月最后一天在加一天
2.select to_char(last_day(sysdate), 'yyyy-mm-dd') from dual 本月最后一天
3.select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-18
4.select trunc(sysdate, 'mm') from dual --2011-3-1 返回当月第一天.
5.select trunc(sysdate,'yy') from dual --2011-1-1 返回当年第一天
6.select trunc(sysdate,'dd') from dual --2011-3-18 返回当前年月日
7.select trunc(sysdate,'yyyy')