知识大全 在Oracle中实现各种日期处理完全版
Posted 知
篇首语:业精于勤而荒于嬉,行成于思而毁于随本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在Oracle中实现各种日期处理完全版相关的知识,希望对你有一定的参考价值。
在Oracle中实现各种日期处理完全版 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
TO_DATE格式 Day: dd number dy abbreviated fri day spelled out friday ddspth spelled out ordinal elfth Month: mm number mon abbreviated mar month spelled out march Year: yy o digits yyyy four digits 小时格式下时间范围为 : : : : 小时格式下时间范围为 : : : : 日期和字符转换函数用法(to_date to_char) select to_char( to_date( J ) Jsp ) from dual 显示Two Hundred Twenty Two 求某天是星期几 select to_char(to_date( yyyy mm dd ) day ) from dual; 星期一 select to_char(to_date( yyyy mm dd ) day NLS_DATE_LANGUAGE = American ) from dual; monday 设置日期语言 ALTER SESSION SET NLS_DATE_LANGUAGE= AMERICAN ; 也可以这样 TO_DATE ( YYYY mm dd NLS_DATE_LANGUAGE = American ) 两个日期间的天数 select floor(sysdate to_date( yyyymmdd )) from dual; 时间为null的用法 select id active_date from table UNION select TO_DATE(null) from dual; 注意要用TO_DATE(null) a_date beeen to_date( yyyymmdd ) and to_date( yyyymmdd ) 那么 月 号中午 点之后和 月 号的 点之前是不包含在这个范围之内的 所以 当时间需要精确的时候 觉得to_char还是必要的 日期格式冲突问题 输入的格式要看你安装的ORACLE字符集的类型 比如: US ASCII date格式的类型就是: Jan alter system set NLS_DATE_LANGUAGE = American alter session set NLS_DATE_LANGUAGE = American 或者在to_date中写 select to_char(to_date( yyyy mm dd ) day NLS_DATE_LANGUAGE = American ) from dual; 注意我这只是举了NLS_DATE_LANGUAGE 当然还有很多 可查看 select * from nls_session_parameters select * from V$NLS_PARAMETERS 日期和字符转换函数用法(to_date to_char) We overwrite NLS_DATE_FORMAT into different formats for the session SQL> alter session set nls_date_format = DD MON RR ; Session altered SQL> set pagesize SQL> set linesize SQL> select * from nls_session_parameters; NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD MON RR NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY NLS_TIME_FORMAT HH MI SSXFF AM NLS_TIMESTAMP_FORMAT DD MON RR HH MI SSXFF AM NLS_TIME_TZ_FORMAT HH MI SSXFF AM TZH:TZM NLS_TIMESTAMP_TZ_FORMAT DD MON RR HH MI SSXFF AM TZH:TZM NLS_DUAL_CURRENCY $ NLS_P BINARY rows selected specify it in SQL statement: SQL> select to_date( SEP DD MON YYYY ) from dual; SEP SQL> alter session set nls_date_format = MM DD YYYY ; Session altered SQL> select to_date( SEP DD MON YY ) from dual; TO_DATE( SQL> alter session set nls_date_format = RRRR MM DD ; Session altered SQL> select to_date( SEP DD MON YYYY ) from dual; TO_DATE( When we use TO_CHAR function we get expected results of format from current SQL statement: SQL> alter session set nls_date_format = MM DD YY ; Session altered SQL> select to_char(sysdate dd mm yyyy ) from dual; TO_CHAR(SYSDATE DD MM YYYY ) SQL> alter session set nls_date_format = RR MON DD ; Session altered SQL> select to_char(sysdate dd mon yy ) from dual; TO_CHAR(SYSDATE DD MON YY ) sep SQL> select to_char(sysdate dd Mon yy ) from dual; TO_CHAR(SYSDATE DD MON YY ) Sep select count(*) from ( select rownum rnum from all_objects where rownum <= to_date( yyyy mm dd ) to_date( yyyy mm dd )+ ) where to_char( to_date( yyyy mm dd )+rnum D ) not in ( ) 查找 至 间除星期一和七的天数 在前后分别调用DBMS_UTILITY GET_TIME 让后将结果相减(得到的是 / 秒 而不是毫秒) select months_beeen(to_date( MM DD YYYY ) to_date( MM DD YYYY )) MONTHS FROM DUAL; select months_beeen(to_date( MM DD YYYY ) to_date( MM DD YYYY )) MONTHS FROM DUAL; Next_day的用法 Next_day(date day) Monday Sunday for format code DAY Mon Sun for format code DY for format code D select to_char(sysdate hh:mi:ss ) TIME from all_objects 注意 第一条记录的TIME 与最后一行是一样的 可以建立一个函数来处理这个问题 create or replace function sys_date return date is begin return sysdate; end; select to_char(sys_date hh:mi:ss ) from all_objects; 获得小时数 SELECT EXTRACT(HOUR FROM TIMESTAMP : : ) from offer SQL> select sysdate to_char(sysdate hh ) from dual; SYSDATE TO_CHAR(SYSDATE HH ) : : SQL> select sysdate to_char(sysdate hh ) from dual; SYSDATE TO_CHAR(SYSDATE HH ) : : 获取年月日与此类似 年月日的处理 select older_date newer_date years months abs( trunc( newer_date add_months( older_date years* +months ) ) ) days from ( select trunc(months_beeen( newer_date older_date )/ ) YEARS mod(tr cha138/Article/program/Oracle/201311/17738相关参考
RHEL3上安装Oracle9.2.0完全版 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 安装
Oracle中一个日期查找的误区 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
Oracle中日期时间的操作比较和加减 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracl
oracle中不带时分秒的字符串to_date转换时间后与带时分秒的date型字段做带等值的比较(>=<==)时由于字符串不带时分秒所以转换后时分秒默认为::oracle中比较date
在oracle中有很多关于日期的函数如: add_months()用于从一个日期值增加或减少一些月份 date_value:=add_months(date_valuenumber_of_mo
Oracle日期时间函数的应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 转换函数 与da
从Unix到Oracle的日期转换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! CREATEO
思路是先将oracle中时间字段转化成字段串然后与字符串模糊查询 如下 StringstrSQLSearch=SELECT*FROM+objConfigDBgetTableName()+WHE
系统环境 操作系统WindowsServer机器内存M 数据库 OracleiR()forNT企业版 安装路径C:\\ORACLE 模拟现象 先将数据库设置为归档模式
知识大全 Oracle基本数据类型存储格式浅析—日期类型(1)
Oracle基本数据类型存储格式浅析—日期类型(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!