• 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;

  • 相关阅读:
    《Java并发编程实战》(五)---- 任务执行
    《Java并发编程实践》(四)---- 构建阻塞
    《Java并发编程实践》(三)---- 组合对象
    《Java8实战》(三)---- 重构测试和调试
    《Java核心技术》---- 多线程
    《Java并发编程实战》(二)---- 对象的共享
    《Java 8 实战》(三)---- 流
    《Java 8 实战》(二)—— Lambda
    《Java 8 实战》(一)——通过行为参数化传递代码
    Android_问卷调查
  • 原文地址:https://www.cnblogs.com/AlanLee/p/9021134.html
Copyright © 2020-2023  润新知