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
使用实例
1》以12小时制显示
SQL>select to_char(sysdate,'YYYY-MM-DD HH12:MI:SS AM')from dual; TO_CHAR(SYSDATE,'YYYY-MM-DDHH1 2007-06-29 02:50:06 下午
2》以24小时制显示
SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS AM')from dual; TO_CHAR(SYSDATE,'YYYY-MM-DDHH2 2007-06-29 15:00:58 下午
3》得到当前时间的前一分钟
select to_char(Sysdate-1/21/60,'HH24:MI:SS')from dual; TO_CHAR(SYSDATE-1/21/60,'HH24: 15:00:54
4》得到当前时间的后一分钟
select to_char(Sysdate+1/21/60,'HH24:MI:SS')from dual; TO_CHAR(SYSDATE+1/21/60,'HH24: 15:03:53
5》得到当前时间的前一小时
select to_char(Sysdate-1/24,'HH24:MI:SS')from dual; TO_CHAR(SYSDATE-1/24,'HH24:MI: 14:03:13
6》得到当前时间的后一小时
select to_char(Sysdate+1/24,'HH24:MI:SS')from dual; TO_CHAR(SYSDATE+1/24,'HH24:MI: 16:03:32
7》得到当前时间的后一天
select to_char(Sysdate+1,'YYYY-MM-DD')from dual; TO_CHAR(SYSDATE+1,'YYYY-MM-DD'
查询当前时间的前六个月
select add_months(sysdate,-6) from dual
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
注:date'2017/5/1' 会提示格式不对。
到此这篇关于Oracle中时间日期转化函数to_date和to_char的具体使用的文章就介绍到这了,更多相关Oracle to_date to_char内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
修改计算机名或IP后Oracle10g服务无法启动的解决方法
修改计算机名或IP后Oracle10g无法启动服务即windows服务中有一项oracle服务启动不了,报错,下面是具体的解决方法2014-01-01ORALCE substr函数及substrb与字符集关系详解
这篇文章主要介绍了ORALCE substr函数及substrb与字符集关系,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-07-07oracle使用sql语句增加字段示例(sql删除字段语句)
oracle使用sql语句增加修改删除字段示例2013-12-12解读Oracle中代替like进行模糊查询的方法instr(更高效)
这篇文章主要介绍了解读Oracle中代替like进行模糊查询的方法instr(更高效),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-11-11oracle中利用关键字rownum查询前20名员工信息及rownum用法
这篇文章主要介绍了oracle中利用关键字rownum查询前20名员工信息,本文通过代码给大家简单介绍了ORACLE 中ROWNUM用法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2019-04-04
最新评论