1. 简介
在Oracle数据库中,可以使用TO_CHAR()
函数将日期格式化为字符串。对于常见的日期格式,可以直接使用格式化字符串来进行格式化;对于自定义的日期格式,需要在格式化字符串中指定日期格式。本文将详细介绍Oracle数据库中查询时间格式的常用方法。
2. 查询当前时间
2.1 查询当前时间
2.1 查询当前时间
要查询当前时间,可以使用Oracle的内置函数SYSDATE
,该函数返回当前的日期和时间。使用方式如下:
SELECT SYSDATE FROM DUAL;
运行以上代码,会得到一个日期时间字符串,格式为:
2022-02-22 22:22:22
2.2 查询当前日期
要查询当前日期,可以使用SYSDATE
函数和TRUNC
函数联合使用,将当前时间的时分秒部分截取,只保留日期部分:
SELECT TRUNC(SYSDATE) FROM DUAL;
以上代码会返回当天的日期,格式为:
2022-02-22
3. 格式化日期时间
3.1 常见日期格式
Oracle数据库支持一系列的日期格式,下面是一些常见的日期格式:
格式化字符串 | 解释 | 示例 | 输出 |
---|---|---|---|
'YYYY-MM-DD' | 年月日 | SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL; |
2022-02-22 |
'YYYY-MM-DD HH24:MI:SS' | 年月日时分秒 | SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL; |
2022-02-22 22:22:22 |
'YYYY/MM/DD' | 带斜杠的年月日 | SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD') FROM DUAL; |
2022/02/22 |
'Mon DD, YYYY' | 英文格式的月份、日、年 | SELECT TO_CHAR(SYSDATE, 'Mon DD, YYYY') FROM DUAL; |
Feb 22, 2022 |
3.2 自定义日期格式
除了常见的日期格式之外,还可以使用自定义的日期格式化字符串来格式化日期。在格式化字符串中,可以使用一些特定的符号来定义日期格式:
符号 | 解释 | 示例 | 输出 |
---|---|---|---|
YYYY | 四位年 | SELECT TO_CHAR(SYSDATE, 'YYYY') FROM DUAL; |
2022 |
YY | 两位年 | SELECT TO_CHAR(SYSDATE, 'YY') FROM DUAL; |
22 |
MM | 两位月份(01-12) | SELECT TO_CHAR(SYSDATE, 'MM') FROM DUAL; |
02 |
MON | 英文月份缩写 | SELECT TO_CHAR(SYSDATE, 'MON') FROM DUAL; |
Feb |
DD | 两位日期(01-31) | SELECT TO_CHAR(SYSDATE, 'DD') FROM DUAL; |
22 |
DAY | 英文星期几全名 | SELECT TO_CHAR(SYSDATE, 'DAY') FROM DUAL; |
TUESDAY |
D | 一年中的第几天 | SELECT TO_CHAR(SYSDATE, 'D') FROM DUAL; |
53 |
HH24 | 小时(00-23) | SELECT TO_CHAR(SYSDATE, 'HH24') FROM DUAL; |
22 |
MI | 分钟(00-59) | SELECT TO_CHAR(SYSDATE, 'MI') FROM DUAL; |
22 |
SS | 秒钟(00-59) | SELECT TO_CHAR(SYSDATE, 'SS') FROM DUAL; |
22 |
使用自定义的日期格式化字符串来格式化日期:
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
该代码会返回一个日期时间字符串,格式为:
2022-02-22 22:22:22
4. 将字符串转换为日期时间类型
在Oracle数据库中,可以使用TO_DATE()
函数将字符串按照给定的格式转换为日期时间类型。使用方式如下:
SELECT TO_DATE('2022-02-22 22:22:22', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
以上代码会将字符串'2022-02-22 22:22:22'
转换为日期时间类型,并返回一个日期时间格式的字符串'22-FEB-22 10.22.22.000000000 PM'
。
5. 查询日期范围内的数据
在SQL语句中,可以使用TO_DATE()
函数将字符串转换为日期时间类型。使用TO_DATE()
函数可以方便地进行日期范围查询,例如:
SELECT * FROM TABLE_NAME WHERE CREATE_TIME >= TO_DATE('2022-02-01', 'YYYY-MM-DD') AND CREATE_TIME < TO_DATE('2022-03-01', 'YYYY-MM-DD');
以上代码查询了TABLE_NAME
表中CREATE_TIME
字段在2022-02-01
和2022-03-01
(不包含)之间的数据。
总结
本文详细介绍了Oracle数据库中查询时间格式的方法。我们可以使用SYSDATE
函数查询当前时间,使用TO_CHAR()
函数将日期格式化为字符串,使用TO_DATE()
函数将字符串转换为日期时间类型。在查询范围内的数据时,可以方便地使用TO_DATE()
函数进行查询。