今天无意间在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允许你直接对`DATE`类型的数据进行减法操作,这将返回一个`INTERVAL DAY TO SECOND`类型的值,表示两个日期之间的差值。例如: ```sql SELECT (date2 - date1) days FROM your_table; ``` 2. **EXTRACT...
AND t2.window_group_name IN ('MAINTENANCE_WINDOW_GROUP', 'BSLN_MAINTAIN_STATS_SCHED'); ``` 查询结果展示了每个工作日(周一至周五)的收集窗口都设置在22:00开始,持续时间为4小时;而周六和周日的收集窗口则...
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')), ... ); ```...
) PARTITION BY RANGE (CREATE_TIME) INTERVAL (NUMTODSINTERVAL(1, 'day')) ( PARTITION part_t01 VALUES LESS THAN (TO_DATE('2018-11-01', 'yyyy-mm-dd')) ); ``` 注意,创建分区表后,还需要为表创建主键并建立...
Oracle中的日期数据类型有DATE、TIMESTAMP以及INTERVAL。DATE类型包括年、月、日、小时、分钟和秒,而TIMESTAMP则增加了微秒精度。INTERVAL类型用于存储两个日期之间的差值,分为YEAR TO MONTH和DAY TO SECOND两种...
要找出两个日期之间的天数,可以使用`DATEDIFF(day, date1, date2)`,但在Oracle中,可以使用`NUMTODSINTERVAL(date2-date1, 'DAY')`。 9. **日期比较**: 可以使用`, `>=`, `, `>`, `=`, `!=`等比较运算符对日期...
在"OReilly.Oracle.PL.SQL.for.DBAs.Oct.2005.chm"这本书中,你将找到更多关于PL/SQL编程的深入指南;"oracle.10G函数大全.chm"涵盖了Oracle 10g版本的所有函数;"PLSQL编程基础(原版).doc"和"oracle+pl+sql语言基础...
- SQL Server的`DATEADD()`和`DATEDIFF()`在Oracle中分别对应`ADD_MONTHS()`、`NUMTODSINTERVAL()`或`DATEDIFF()`(但Oracle的DATEDIFF不直接返回整数,而是相差的时间间隔)。 3. **数学和数值函数**: - 两系统...
- SQL Server 中,`GETDATE` 获取当前日期和时间,`DATEADD` 和 `DATEDIFF` 分别用于添加或减去日期部分,Oracle 对应的分别是 `SYSDATE`、`ADD_MONTHS` 和 `NUMTOYMINTERVAL` 或 `NUMTODSINTERVAL`。 - 在提取...
Oracle SQL是SQL的一个特定实现,由Oracle公司提供,用于在其数据库管理系统中执行数据操作。本章将重点介绍SQL的基本概念、Oracle数据类型以及如何进行数据操作。 首先,SQL主要包含四种类型的命令:数据定义语言...
除了这些基本函数,Oracle还提供了`MONTHS_BETWEEN`计算两个日期之间的月数差,`NEXT_DAY`找到给定日期后的下一个特定星期几,`NUMTODSINTERVAL`和`NUMTOYMINTERVAL`用于创建时间间隔。 `NLS_DATE_FORMAT`环境变量...
5. **转换函数**:TO_CHAR()将日期或数字转换为字符串格式,NUMTOYMINTERVAL()和NUMTODSINTERVAL()将数值转换为时间间隔。 6. **条件函数**:IFNULL()和NVL()用于处理空值,DECODE()根据条件返回不同值,CASE......
`ADD_MONTHS(date, interval)`函数可以用来增加或减少月数,`NUMTODSINTERVAL(value, 'unit')`和`TO_DATE('date_string', 'format')`等函数也常用于日期和时间的操作。 列名别名(Aliases)在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...
- `NUMTODSINTERVAL()` 和 `TO_DSINTERVAL()` 用于计算日期/时间间隔。 - `TO_CHAR()` 或 `TO_DATE()` 进行日期格式转换。 四、聚合函数 1. **SQL Server:** - `SUM()` 求和。 - `AVG()` 平均值。 - `COUNT...
Oracle SQL是Oracle数据库系统特定的SQL实现,它扩展了标准SQL的功能,提供了更丰富的数据类型和函数。本章主要介绍了SQL的基本概念、Oracle特有的数据类型以及如何进行日期和时间的操作。 1. SQL简介: SQL支持四...
- `NUMTOYMINTERVAL` 和 `NUMTODSINTERVAL`:将数字转换为时间间隔。 - `TO_BINARY_FLOAT` 和 `TO_BINARY_DOUBLE`:将数值转换为二进制浮点或双精度值。 - `RAWTOHEX` 和 `HEXTORAW`:在十六进制字符串和RAW类型...
- `NUMTODSINTERVAL` 和 `DAYS_TO_NUMINTERVAL` 用于创建日期间隔,可以用于日期的加减。 - `SYSDATE` 和 `CURRENT_DATE` 都可以获取当前系统日期,但前者不受时区影响。 5. **日期比较**: - 可以使用比较...
在实际应用中,可能需要结合其他Oracle时间类型(如INTERVAL DAY TO SECOND)和函数(如NUMTODSINTERVAL, EXTRACT)进行更复杂的计算。然而,对于简单的从分钟数转换到天、小时和分钟的场景,上述方法是一个直观且...