在Oracle时间应用中如何转换函数

本文主要介绍的是Oracle时间的实际应用中的转换函数和date实际操作的相关关系,我们都知道转换函数和date实际操作的相关关系最大的就是两个可以转换函数即,to_date(),to_char()

十年的二七网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整二七建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“二七网站设计”,“二七网站推广”以来,每个客户项目都认真落实执行。

to_date() 作用将字符类型按一定格式转化为日期类型。

具体用法:to_date(''2004-11-27'',''yyyy-mm-dd''),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。

如;to_date(''2004-11-27 13:34:43'', ''yyyy-mm-dd hh24:mi:ss'') 将得到具体的Oracle时间

多种日期格式:

YYYY:四位表示的年份

YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪

MM:01~12的月份编号

MONTH:九个字符表示的月份,右边用空格填补

MON:三位字符的月份缩写

WW:一年中的星期

D:星期中的第几天

DD:月份中的第几天

DDD:年所中的第几天

DAY:九个字符表示的天的全称,右边用空格补齐

HH,HH12:一天中的第几个小时,12进制表示法

HH24:一天中的第几个小时,取值为00~23

MI:一小时中的分钟

SS:一分钟中的秒

SSSS:从午夜开始过去的秒数

to_char():将日期转按一定格式换成字符类型

 
 
 
  1. SQL> select to_char(sysdate,''yyyy-mm-dd hh24:mi:ss'') time from dual;  
  2. TIME  
  3. 2004-10-08 15:22:58 

 

即把当前Oracle时间按yyyy-mm-dd hh24:mi:ss格式转换成字符类型

在oracle中处理日期大全

TO_DATE格式

 
 
 
  1. Day:   
  2. dd number 12   
  3. dy abbreviated fri   
  4. day spelled out friday   
  5. ddspth spelled out, ordinal twelfth   
  6. Month:   
  7. mm number 03   
  8. mon abbreviated mar   
  9. month spelled out march   
  10. Year:   
  11. yy two digits 98   
  12. yyyy four digits 1998 

 

24小时格式下时间范围为: 0:00:00 - 23:59:59....

12小时格式下Oracle时间范围为: 1:00:00 - 12:59:59 ....

[ZT]日期和??函???

1.

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

2.

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

 

显示Two Hundred Twenty-Two

3.

求某天是星期几

 
 
 
  1. select to_char(to_date(''2002-08-26'',''yyyy-mm-dd''),''day'') from dual;  

 

星期一

 
 
 
  1. select to_char(to_date(''2002-08-26'',''yyyy-mm-dd''),
    ''day'',''NLS_DATE_LANGUAGE = American'') from dual;   
  2. monday  

 

设置日期语言

 
 
 
  1. ALTER SESSION SET NLS_DATE_LANGUAGE=''AMERICAN'';  

 

也可以这样

 
 
 
  1. TO_DATE (''2002-08-26'', ''YYYY-mm-dd'', ''NLS_DATE_LANGUAGE = American'') 

 

4.

两个日期间的天数

 
 
 
  1. select floor(sysdate - to_date(''20020405'',''yyyymmdd'')) from dual; 

 

5. 时间为null的用法

 
 
 
  1. select id, active_date from table1   
  2. UNION   
  3. select 1, TO_DATE(null) from dual; 

 

注意要用TO_DATE(null)

6.

 
 
 
  1. a_date between to_date(''20011201'',''yyyymmdd'') 
  2. and to_date(''20011231'',''yyyymmdd'')  

 

那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。

所以,当时间需要精确的时候,觉得to_char还是必要的

7. 日期格式冲突问题

输入的格式要看你安装的ORACLE字符集的类型, 比如: US7ASCII, date格式的类型就是: ''01-Jan-01''

 
 
 
  1. alter system set NLS_DATE_LANGUAGE = American   
  2. alter session set NLS_DATE_LANGUAGE = American  

 

或者在to_date中写

 
 
 
  1. select to_char(to_date(''2002-08-26'',''yyyy-mm-dd''),
    ''day'',''NLS_DATE_LANGUAGE = American'') from dual;  

 

注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,

可查看

q查找2002-02-28至2002-02-01间除星期一和七的天数

在前后分别调用DBMS_UTILITY.GET_TIME, 让后将结果相减(得到的是1/100秒, 而不是毫秒).

9.

 
 
 
  1. select months_between(to_date(''01-31-1999'',''MM-DD-YYYY''),   
  2. to_date(''12-31-1998'',''MM-DD-YYYY'')) "MONTHS" FROM DUAL;   
  3. 1  
  4. select months_between(to_date(''02-01-1999'',''MM-DD-YYYY''),   
  5. to_date(''12-31-1998'',''MM-DD-YYYY'')) "MONTHS" FROM DUAL;  
  6. 1.03225806451613   
  7.  

10. Next_day的用法

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

 

以上的相关内容就是对Oracle时间的介绍,望你能有所收获。 

文章出自: http://www.programbbs.com/doc/class10-3.htm

网页名称:在Oracle时间应用中如何转换函数
分享链接:http://www.36103.cn/qtweb/news12/9612.html

成都网站建设公司_创新互联,为您提供服务器托管python响应式网站虚拟主机微信小程序做网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联