最新公告
  • 欢迎您光临狐狸源码,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • oracle中to_date详细用法示例(oracle日期格式转换)

    TO_DATE格式(以时间:2007-11-02 13:45:25为例)


    1. 日期和字符转换函数用法(to_date,to_char)


    复制代码 代码如下:


    select to_char(sysdate,\’yyyy-mm-dd hh24:mi:ss\’) as nowTime from dual;   //日期转化为字符串 
    select to_char(sysdate,\’yyyy\’)  as nowYear   from dual;   //获取时间的年 
    select to_char(sysdate,\’mm\’)    as nowMonth  from dual;   //获取时间的月 
    select to_char(sysdate,\’dd\’)    as nowDay    from dual;   //获取时间的日 
    select to_char(sysdate,\’hh24\’)  as nowHour   from dual;   //获取时间的时 
    select to_char(sysdate,\’mi\’)    as nowMinute from dual;   //获取时间的分 
    select to_char(sysdate,\’ss\’)    as nowSecond from dual;   //获取时间的秒


    2. 字符串和时间互转

    复制代码 代码如下:


    select to_date(\’2004-05-07 13:23:44\’,\’yyyy-mm-dd hh24:mi:ss\’) from dual
    select to_char( to_date(222,\’J\’),\’Jsp\’) from dual //显示Two Hundred Twenty-Two   


    3.求某天是星期几

    复制代码 代码如下:


    select to_char(to_date(\’2002-08-26\’,\’yyyy-mm-dd\’),\’day\’) from dual;     //星期一    
    select to_char(to_date(\’2002-08-26\’,\’yyyy-mm-dd\’),\’day\’,
    \’NLS_DATE_LANGUAGE = American\’) from dual;   // monday  
    //设置日期语言    
    ALTER SESSION SET NLS_DATE_LANGUAGE=\’AMERICAN\’;    
    //也可以这样    
    TO_DATE (\’2002-08-26\’, \’YYYY-mm-dd\’, \’NLS_DATE_LANGUAGE = American\’)


    4. 两个日期间的天数

    复制代码 代码如下:


    select floor(sysdate – to_date(\’20020405\’,\’yyyymmdd\’)) from dual;


    5. 时间为null的用法

    复制代码 代码如下:


    select id, active_date from table1    
    UNION    
    select 1, TO_DATE(null) from dual;  //注意要用TO_DATE(null)


    6.月份差

    复制代码 代码如下:


    a_date between to_date(\’20011201\’,\’yyyymmdd\’) and to_date(\’20011231\’,\’yyyymmdd\’)    
    //那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。    
    //所以,当时间需要精确的时候,觉得to_char还是必要的


    7. 日期格式冲突问题
    输入的格式要看你安装的ORACLE字符集的类型, 比如: US7ASCII, date格式的类型就是: \’01-Jan-01\’

    复制代码 代码如下:


    alter system set NLS_DATE_LANGUAGE = American    
    alter session set NLS_DATE_LANGUAGE = American    
    //或者在to_date中写    
    select to_char(to_date(\’2002-08-26\’,\’yyyy-mm-dd\’),
       \’day\’,\’NLS_DATE_LANGUAGE = American\’) from dual;    
    //注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,可查看    
    select * from nls_session_parameters    
    select * from V$NLS_PARAMETERS   


    8.查询特殊条件天数

    复制代码 代码如下:


    select count(*)    
    from ( select rownum-1 rnum    
       from all_objects    
       where rownum <= to_date(\’2002-02-28\’,\’yyyy-mm-dd\’) – to_date(\’2002-    
       02-01\’,\’yyyy-mm-dd\’)+1   
      )    
    where to_char( to_date(\’2002-02-01\’,\’yyyy-mm-dd\’)+rnum-1, \’D\’ )    
        not in ( \’1\’, \’7\’ )    

    //查找2002-02-28至2002-02-01间除星期一和七的天数    
    //在前后分别调用DBMS_UTILITY.GET_TIME, 让后将结果相减(得到的是1/100秒, 而不是毫秒)


    9. 查找月份

    复制代码 代码如下:


    select months_between(to_date(\’01-31-1999\’,\’MM-DD-YYYY\’),
    to_date(\’12-31-1998\’,\’MM-DD-YYYY\’)) \”MONTHS\” FROM DUAL;    
    //结果为:1    
    select months_between(to_date(\’02-01-1999\’,\’MM-DD-YYYY\’),
    to_date(\’12-31-1998\’,\’MM-DD-YYYY\’)) \”MONTHS\” FROM DUAL;    
    //结果为:1.03225806451613


    10. Next_day的用法

    复制代码 代码如下:


    Next_day(date, day)    
    Monday-Sunday, for format code DAY    
    Mon-Sun, for format code DY    
    1-7, for format code D   


    11.获得小时数

    复制代码 代码如下:


    //extract()找出日期或间隔值的字段值
    SELECT EXTRACT(HOUR FROM TIMESTAMP \’2001-02-16 2:38:40\’) from offer    
    select sysdate ,to_char(sysdate,\’hh\’) from dual;    

    SYSDATE               TO_CHAR(SYSDATE,\’HH\’)    
    ——————– ———————    
    2003-10-13 19:35:21   07   

    select sysdate ,to_char(sysdate,\’hh24\’) from dual;    

    SYSDATE               TO_CHAR(SYSDATE,\’HH24\’)    
    ——————– ———————–    
    2003-10-13 19:35:21   19  


    12.年月日的处理

    复制代码 代码如下:

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    狐狸源码
    一个高级程序员模板开发平台
    • 8669会员总数(位)
    • 15707资源总数(个)
    • 81本周发布(个)
    • 0 今日发布(个)
    • 401稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    升级SVIP尊享更多特权立即升级