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

 更新时间:2024年02月01日 10:46:47   作者:じ、Matrix  
这篇文章主要给大家介绍了关于Oracle数据库时间格式转换的常见示例,在实际的工作中会经常会用到to_char()、to_date()函数来对时间、日期进行处理,文中给出了详细的代码示例,需要的朋友可以参考下

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时间格式转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入ORACLE迁移到MYSQL的总结分析

    深入ORACLE迁移到MYSQL的总结分析

    本篇文章是对ORACLE迁移到MYSQL进行了详细的总结与分析,需要的朋友参考下
    2013-06-06
  • Oracle表空间不足的两种解决办法

    Oracle表空间不足的两种解决办法

    这篇文章主要介绍了Oracle表空间不足的两种解决办法,需要的朋友可以参考下
    2017-10-10
  • LINUX下Oracle数据库用户创建方法详解

    LINUX下Oracle数据库用户创建方法详解

    这篇文章主要介绍了LINUX下Oracle数据库用户创建方法,结合实例形式较为详细的分析总结了Oracle数据库用户创建的具体步骤与相关技巧,需要的朋友可以参考下
    2015-12-12
  • 重新编译PLSQL中的无效对象或者指定的对象 的方法

    重新编译PLSQL中的无效对象或者指定的对象 的方法

    重新编译PLSQL中的无效对象或者指定的对象 的方法...
    2007-04-04
  • ORACLE数据表分析

    ORACLE数据表分析

    这篇文章介绍了ORACLE进行数据表分析的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Oracle用户密码过期报错的解决办法

    Oracle用户密码过期报错的解决办法

    Oracle数据库 11g默认密码过期时间为180天过期,针对密码过期企业一般是采用修改密码的方式,个人电脑上则可以将密码过期时间修改为永久,本文给大家介绍了Oracle用户密码过期报错的解决办法,需要的朋友可以参考下
    2024-03-03
  • oracle基础语法详解

    oracle基础语法详解

    这篇文章主要介绍了oracle基础语法详解,非常适合Oracle数据库的初步学习,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • oracle11g 通过修改配置文件方式连接远程数据库的方法

    oracle11g 通过修改配置文件方式连接远程数据库的方法

    这篇文章主要介绍了oracle11g 通过修改配置文件方式连接远程数据库的方法,需要的朋友可以参考下
    2017-04-04
  • Linux系统下Oracle数据库的安装和启动关闭操作教程

    Linux系统下Oracle数据库的安装和启动关闭操作教程

    这篇文章主要介绍了Linux系统下Oracle数据库的安装和启动关闭操作教程,并针对在sqlplus下所需执行的命令进行讲解,需要的朋友可以参考下
    2015-12-12
  • expdp与impdp导出导入特定表方式

    expdp与impdp导出导入特定表方式

    文章介绍了在Oracle数据库中导入导出特定表的方法,包括在10g和11g/12c中的操作区别,以及如何使用DBBAK文件夹作为导出文件的存储,同时,文章指出了在Windows Server 2012及以上版本中使用PowerShell时可能会遇到的问题,建议在DOS命令行窗口中执行相关操作
    2025-01-01

最新评论