Oracle日期格式转换

本文主要介绍Oracle中的日期转换。

1.日期转化为字符串 (以2016年10月20日为例)

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')  strDateTime from dual;    --获取年-月-日 时:分:秒   

–显示结果为:2016-10-20 12:35:21

select to_char(sysdate,'yyyymmdd hh24:mi:ss')  strDateTime from dual;    --获取年月日 时:分:秒  

–显示结果为:20161020 13:39:25

select to_char(sysdate,'yyyymmdd')  strDateTime from dual;     --获取年月日 

–显示结果为:20161020

select to_char(sysdate,'yyyy')  strYear from dual;    --获取年  

–显示结果为:2016

select to_char(sysdate,'mm')   strMonth  from dual;    --获取月  

–显示结果为:10

select to_char(sysdate,'dd')    strDay    from dual;     --获取日  

–显示结果为:20

select to_char(sysdate,'hh24')   strHour   from dual;     --获取时 

–显示结果为:13

select to_char(sysdate,'mi')  strMinute from dual;   --获取分  

–显示结果为:46

select to_char(sysdate,'ss')  strSecond from dual;   --获取秒

–显示结果为:43

2.字符串和时间互转

select to_date('2010-10-20 13:23:44','yyyy-mm-dd hh24:mi:ss') dateTime from dual;

显示结果:2010/10/20 13:23:44

select to_date('2010-10-20 13:23:44','yyyy/mm/dd hh24:mi:ss') dateTime from dual;

显示结果:2010/10/20 13:23:44

select to_char( to_date(222,'J'),'Jsp') from dual;

显示结果:Two Hundred Twenty-Two

如果按照下面的例子写,会报错:ORA-01849:小时值必须介于1和12之间。(因为其中的hh是12进制,没有13所以报错)

select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh:mi:ss') from dual;

3.查询某天是星期几

select to_char(to_date('2012-10-20','yyyy-mm-dd'),'day') strDay from dual; 

显示结果:星期六

select to_char(to_date('2012-10-20','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = English') strDay from dual;   

显示结果:saturday

4.两个日期间的天数

select floor(sysdate - to_date('20161010','yyyymmdd')) strTime from dual; 

–其中sysdate=2016/10/20 17:10:51
–显示结果:10

5.时间为null的用法

select to_date(null) from dual;

6.月份差

select  months_between(date'2014-04-23',date'2013-04-23') days from dual;

本文来自:http://www.jb51.net/article/45591.htm

http://www.cnblogs.com/xiaobaihome/archive/2012/03/14/2395568.html

转载自:https://www.cnblogs.com/ggll611928/p/5976468.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值