Oracle时间格式化查询

   
   将日期型转换成字符串时,可以按新的格式显示,如格式YYYY-MM-DD HH24:MM:SS表示“年-月-日 小时:分钟:秒”。
   Oracle的日期类型是包含时间在内的。


主要的时间式字符的含义如下表所示:
         
代码 代表的格式 例子
AM、PM 上午、下午 08 AM
D                 数字表示的星期(1~7)         1, 2, 3, ..., 7
DD              数字表示月中的日期(1~31)      1, 2, 3, …, 31
MM                  两位数的月份               01, 02, …, 12
Y、YY、YYY、YYYY    年份的后几位               4, 14, 014, 2014
RR               解决Y2K问题的年度转换    
DY                  简写的星期名                MON, TUE, FRI, …
DAY                 全拼的星期名               MONDAY, TUESDAY, …
MON                  简写的月份名              JAN, FEB, MAR, …
MONTH              全拼的月份名               JANUARY, FEBRUARY, …
HH、HH12           12小时制的小时(1~12)      1, 2, 3, …, 12
HH24              24小时制的小时(0~23)       0, 1, 2, …, 23
MI                  分(0~59)                 0, 1, 2, …, 59
SS                  秒(0~59)                 0, 1, 2, …, 59
, . / - ; :       原样显示的标点符号
‘TEXT’          引号中的文本原样显示            TEXT


1、时间间隔查询:

SELECT * FROM DEMO_TEST t WHERE TO_CHAR(t.SYS_TIME,'yyyy-mm-dd hh:mm:ss')  between '2014-05-06 00:00:00' and '2014-05-06 23:59:59';


2、将日期转换成带时间和星期的字符串并显示:

SELECT TO_CHAR(sysdate, 'YYYY-MM-DD HH24:MI:SS AM DY') FROM dual;


结果为:

TO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MM:SS
-------------------------------------
2014-05-06 15:01:15 下午 星期二


3、2008年8月8日为星期几?
SELECT TO_CHAR(TO_DATE('2008-08-08', 'YYYY-MM-DD'), 'DY') FROM dual;


结果为:

TO_CHA
------
星期五


4、项目实例查询:



猜你喜欢

转载自boonya.iteye.com/blog/2062330