Oracle中时间日期转化函数to_date和to_char的具体使用

2023-12-04 0 935
目录
  • 1、to_char()函数的用法
    • 1.1、将时间日期按照指定的格式输出,得到的是字符串,而非date类型。
    • 1.2、用to_char()可以得到日期中的年、月、日、时、分
    • 使用实例
  • 2、to_date()函数的用法
    • 2.1、将字符串转换为具体指定的时间日期格式
    • 2.2、可以直接使用date'yyyy-mm-dd'

在实际的工作中会经常会用到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-152017/6/15 17:07:25 2017/06/152017/6/15 17:07:25 201706152017/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 20172017/6/15 17:09:14 062017/6/15 17:09:14 172017/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 06null

使用实例

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/152017/6/15 17:20:27 2017/6/152017/6/15 17:20:27 2017/6/152017/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内容请搜索悠久资源以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Oracle Oracle中时间日期转化函数to_date和to_char的具体使用 https://www.u-9.cn/database/oracle/68625.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务