`
dy3168729
  • 浏览: 40545 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

numtodsinterval and interval for oracle

 
阅读更多

今天无意间在http://blog.csdn.net/ningjieshuijing/article/details/6530687发现了两个很少用的时间间隔关键字:numtodsinterval 、 numtoyminterval、 interval。

感觉以后可能会用到,所以转载过来。下面是简要的介绍:

 

 

一、  语法:NUMTOYMINTERVAL ( n , 'char_expr' )
              char_expr:日期描述,可以是YEAR和MONTH;

  作用:可以将数字转换成相应的日期单位时间

  比如:NUMTOYMINTERVAL ( 1, 'MONTH' ) 表示一个月,注意:此时跟add_months有点区别,后续有例子会讲到。
              NUMTOYMINTERVAL ( 1, 'YEAR' ) 表示一年

 

对于day、hour、minute、second使用的是numtodsinterval函数,方法和numtoyminterval一样。后面可以跟变量

二、interval后面只能用数字

 

下面是举例:

SQL> select add_months (to_date('20110228','yyyymmdd'),1) from dual;

ADD_MONTH
---------
31-MAR-11

SQL>
SQL> select add_months(to_date('20110228','yyyymmdd'),-1) from  dual;

ADD_MONTH
---------
31-JAN-11

SQL>
SQL>
SQL> select to_date('2007-02-28','yyyy-mm-dd')+numtoyminterval (1,'month') from dual;

TO_DATE('
---------
28-MAR-07

SQL> select to_date('2007-02-28','yyyy-mm-dd')-numtoyminterval (1,'month') from dual;

TO_DATE('
---------
28-JAN-07


此时,注意跟add_months返回结果的区别。

 

SQL> select to_date('2007-02-28','yyyy-mm-dd')+numtodsinterval(1,'day') from dual;

TO_DATE('
---------
01-MAR-07


SQL>
SQL> select to_date('2007-02-28','yyyy-mm-dd')+interval '+3' hour from dual;

TO_DATE('
---------
28-FEB-07


SQL> select to_date('2007-02-28','yyyy-mm-dd')+interval '+1' month from dual;

TO_DATE('
---------
28-MAR-07

分享到:
评论

相关推荐

    Oracle datediff函数

    Oracle允许你直接对`DATE`类型的数据进行减法操作,这将返回一个`INTERVAL DAY TO SECOND`类型的值,表示两个日期之间的差值。例如: ```sql SELECT (date2 - date1) days FROM your_table; ``` 2. **EXTRACT...

    oracle 11g 统计信息

    AND t2.window_group_name IN ('MAINTENANCE_WINDOW_GROUP', 'BSLN_MAINTAIN_STATS_SCHED'); ``` 查询结果展示了每个工作日(周一至周五)的收集窗口都设置在22:00开始,持续时间为4小时;而周六和周日的收集窗口则...

    oracle分区表分区索引.docx

    INTERVAL(NUMTODSINTERVAL(1,'DAY')) ( PARTITION p20180901 VALUES LESS THAN (TO_DATE('2018-09-02','yyyy-mm-dd')), PARTITION p20180902 VALUES LESS THAN (TO_DATE('2018-09-03','yyyy-mm-dd')), ... ); ```...

    oracle数据库对象.docx

    ) PARTITION BY RANGE (CREATE_TIME) INTERVAL (NUMTODSINTERVAL(1, 'day')) ( PARTITION part_t01 VALUES LESS THAN (TO_DATE('2018-11-01', 'yyyy-mm-dd')) ); ``` 注意,创建分区表后,还需要为表创建主键并建立...

    Oracle日期之二

    Oracle中的日期数据类型有DATE、TIMESTAMP以及INTERVAL。DATE类型包括年、月、日、小时、分钟和秒,而TIMESTAMP则增加了微秒精度。INTERVAL类型用于存储两个日期之间的差值,分为YEAR TO MONTH和DAY TO SECOND两种...

    数据库oracle中日期处理

    要找出两个日期之间的天数,可以使用`DATEDIFF(day, date1, date2)`,但在Oracle中,可以使用`NUMTODSINTERVAL(date2-date1, 'DAY')`。 9. **日期比较**: 可以使用`, `>=`, `, `>`, `=`, `!=`等比较运算符对日期...

    oracle的plsql基础,常用函数

    在"OReilly.Oracle.PL.SQL.for.DBAs.Oct.2005.chm"这本书中,你将找到更多关于PL/SQL编程的深入指南;"oracle.10G函数大全.chm"涵盖了Oracle 10g版本的所有函数;"PLSQL编程基础(原版).doc"和"oracle+pl+sql语言基础...

    SQL Server与Oracle常用函数对比

    - SQL Server的`DATEADD()`和`DATEDIFF()`在Oracle中分别对应`ADD_MONTHS()`、`NUMTODSINTERVAL()`或`DATEDIFF()`(但Oracle的DATEDIFF不直接返回整数,而是相差的时间间隔)。 3. **数学和数值函数**: - 两系统...

    sqlserver与oracle函数的对比

    - SQL Server 中,`GETDATE` 获取当前日期和时间,`DATEADD` 和 `DATEDIFF` 分别用于添加或减去日期部分,Oracle 对应的分别是 `SYSDATE`、`ADD_MONTHS` 和 `NUMTOYMINTERVAL` 或 `NUMTODSINTERVAL`。 - 在提取...

    第三章SQL和OracleSQL函数.ppt

    Oracle SQL是SQL的一个特定实现,由Oracle公司提供,用于在其数据库管理系统中执行数据操作。本章将重点介绍SQL的基本概念、Oracle数据类型以及如何进行数据操作。 首先,SQL主要包含四种类型的命令:数据定义语言...

    12.Oracle时间函数1

    除了这些基本函数,Oracle还提供了`MONTHS_BETWEEN`计算两个日期之间的月数差,`NEXT_DAY`找到给定日期后的下一个特定星期几,`NUMTODSINTERVAL`和`NUMTOYMINTERVAL`用于创建时间间隔。 `NLS_DATE_FORMAT`环境变量...

    Oracle函数使用大全

    5. **转换函数**:TO_CHAR()将日期或数字转换为字符串格式,NUMTOYMINTERVAL()和NUMTODSINTERVAL()将数值转换为时间间隔。 6. **条件函数**:IFNULL()和NVL()用于处理空值,DECODE()根据条件返回不同值,CASE......

    oracle+plsql语句大全.docx

    `ADD_MONTHS(date, interval)`函数可以用来增加或减少月数,`NUMTODSINTERVAL(value, 'unit')`和`TO_DATE('date_string', 'format')`等函数也常用于日期和时间的操作。 列名别名(Aliases)在SQL中很常见,如`...

    Oracle 计算时间格式平均值的sql 语句

    Oracle 计算时间格式平均值的sql 语句 select to_char((to_date('2019-07-01', 'yyyy-mm-dd') + numtodsinterval(avg(begin_time_second), 'second')),'hh24:mi:ss') avg_begin_time, to_char((to_date('2019-07-01...

    SQLServer和Oracle常用函数对比

    - `NUMTODSINTERVAL()` 和 `TO_DSINTERVAL()` 用于计算日期/时间间隔。 - `TO_CHAR()` 或 `TO_DATE()` 进行日期格式转换。 四、聚合函数 1. **SQL Server:** - `SUM()` 求和。 - `AVG()` 平均值。 - `COUNT...

    第三章SQL和OracleSQL函数.pptx

    Oracle SQL是Oracle数据库系统特定的SQL实现,它扩展了标准SQL的功能,提供了更丰富的数据类型和函数。本章主要介绍了SQL的基本概念、Oracle特有的数据类型以及如何进行日期和时间的操作。 1. SQL简介: SQL支持四...

    Oracle函数大全

    - `NUMTOYMINTERVAL` 和 `NUMTODSINTERVAL`:将数字转换为时间间隔。 - `TO_BINARY_FLOAT` 和 `TO_BINARY_DOUBLE`:将数值转换为二进制浮点或双精度值。 - `RAWTOHEX` 和 `HEXTORAW`:在十六进制字符串和RAW类型...

    Oracle日期函数大全.pdf

    - `NUMTODSINTERVAL` 和 `DAYS_TO_NUMINTERVAL` 用于创建日期间隔,可以用于日期的加减。 - `SYSDATE` 和 `CURRENT_DATE` 都可以获取当前系统日期,但前者不受时区影响。 5. **日期比较**: - 可以使用比较...

    Oracle通过时间(分钟)计算有几天几小时几分钟的方法

    在实际应用中,可能需要结合其他Oracle时间类型(如INTERVAL DAY TO SECOND)和函数(如NUMTODSINTERVAL, EXTRACT)进行更复杂的计算。然而,对于简单的从分钟数转换到天、小时和分钟的场景,上述方法是一个直观且...

Global site tag (gtag.js) - Google Analytics