IT俱乐部 Oracle Oracle数据库时间格式转换的常见示例

Oracle数据库时间格式转换的常见示例

Oracle时间格式转换常见示例

Oracle 时间格式转换可以使用TO_DATE和TO_CHAR函数,以下是一些常见的格式转换示例:

1.将日期字符串转换为日期:

SELECT TO_DATE('2021-01-31', 'YYYY-MM-DD') FROM DUAL;

2.将日期转换为字符串:

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

3.将日期时间字符串转换为日期时间:

SELECT TO_DATE('2021-01-31 12:30:00', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

4.将日期时间转换为字符串:

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

5.将时间戳转换为日期时间:

SELECT TO_TIMESTAMP('2021-01-31 12:30:00.123456', 'YYYY-MM-DD HH24:MI:SS.FF') FROM DUAL;

6.将日期时间转换为时间戳:

SELECT TO_TIMESTAMP('2023-01-31 12:30:00.123456', 'YYYY-MM-DD HH24:MI:SS.FF') FROM DUAL;

附 :Oracle中时间日期转化函数to_date和to_char用法总结

在实际的工作中会经常会用到to_char()、to_date()函数来对时间、日期进行处理。

1、to_char()函数的用法

 1.1、将时间日期按照指定的格式输出,得到的是字符串,而非date类型。

 select sysdate,to_char(sysdate,'yyyy-mm-dd')from dual;
 select sysdate,to_char(sysdate,'yyyy/mm/dd')from dual;
 select sysdate,to_char(sysdate,'yyyymmdd')from dual;
 select sysdate,to_char(sysdate,'yyyymmdd hh24:mi:ss')from dual;

运行的输出结果为: 

 2017/6/15 17:07:24    2017-06-15
 2017/6/15 17:07:25    2017/06/15
 2017/6/15 17:07:25    20170615
 2017/6/15 17:07:25    20170615 17:07:25

 1.2、用to_char()可以得到日期中的年、月、日、时、分

 select sysdate,to_char(sysdate,'yyyy')from dual;
 select sysdate,to_char(sysdate,'mm')from dual;
 select sysdate,to_char(sysdate,'hh24')from dual;
 select sysdate,to_char(sysdate,'mi')from dual;

运行的输出结果为:

 2017/6/15 17:09:14    2017
 2017/6/15 17:09:14    06
 2017/6/15 17:09:14    17
 2017/6/15 17:09:14    09

注:to_char()得到的是字符串,要查询具体单日、时、分要特别注意。 

 select accept_time,to_char(accept_time,'mi') from TMP_WW_0615_GYTS_S2 
  where to_char(accept_time,'mi')='06' ;
 select accept_time,to_char(accept_time,'mi') from TMP_WW_0615_GYTS_S2 
  where to_char(accept_time,'mi')='6' ;

 运行输出结果为:

 2017/6/8 21:06:59    06
 null 

2、to_date()函数的用法

 2.1、将字符串转换为具体指定的时间日期格式

 select sysdate,to_date('20170615','yyyymmdd')from dual;
 select sysdate,to_date('20170615','yyyy-mm-dd')from dual;
 select sysdate,to_date('20170615','yyyy/mm/dd')from dual;
 select sysdate,to_date('20170615','yyyy-mm-dd hh24:mi:ss')from dual;

 运行输出结果为:

 2017/6/15 17:20:27    2017/6/15
 2017/6/15 17:20:27    2017/6/15
 2017/6/15 17:20:27    2017/6/15
 2017/6/15 17:20:27    2017/6/15

注:to_date()得到的日期格式是和系统的日期格式保持一致;

得到的时间为当天的 00 :00:00。

2.2、可以直接使用date’yyyy-mm-dd’

 select date'2017-5-1',to_date('20170615','yyyymmdd')from dual; 

运行输出结果为:

 2017/5/1    2017/6/15

总结 

到此这篇关于Oracle数据库时间格式转换的文章就介绍到这了,更多相关Oracle时间格式转换内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/database/oracle/9918.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部