oracle11g - Oracle NUMTOYMINTERVAL

标签 oracle11g

有人可以解释一下 NUMTOYMINTERVAL 的逻辑吗?我浏览了各种网站,但无法获取。

能否请您解释一下下面的具体示例

 select (NUMTOYMINTERVAL(30,'month')) from dual;   
 select (NUMTOYMINTERVAL(30,'YEAR')) from dual; 
 PARTITION BY RANGE (RECORDDATE) INTERVAL (NUMTOYMINTERVAL(1,'MONTH')) 

提前致谢

最佳答案

这个网站给出了很好的解释:

http://www.orafaq.com/wiki/Interval

INTERVAL datatype is a data type used to store a period of time. There are 2 kinds of interval: INTERVAL YEAR TO MONTH, to store a difference in years and months, and INTERVAL DAY TO SECOND, to store a difference in days, hours, minutes and seconds.

它提供了一种指示时间LENGTH的方法..可以是YEAR/MONTH (NUMTOYMINTERVAL)或天/小时/分钟/秒:(TO_DSINTERVAL)

所以在你的第一个例子中:

  SQL > select (NUMTOYMINTERVAL(30,'month')) from dual;
  -------------- More --------------

  (NUMTOYMINTERVAL(30,'MONTH'))
  ---------------------------------------------------------------------------
  +000000002-06

  1 row selected.

它返回一个 INTERVAL 表示“30 个月”的时间长度..结果显示“2 年零 6 个月”..

顺便说一句,Tom Kyte 的这篇文章很有趣,他建议避免使用 NUMTOYMINTERVAL 由于接近月末的行为

https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:68920891856765

I do not recommend using the NUMTOYMINTERVAL function. The reason has to do with how the functions behave at the months end.

关于oracle11g - Oracle NUMTOYMINTERVAL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37543795/

相关文章:

oracle - CURSOR_SHARING、绑定(bind)变量窥视和直方图之间的关系

python-3.x - 需要动态执行SQL查询

oracle11g - 在 ODP.NET 中使用 DbDataAdapter.Update() 时遇到 "ORA-01745: invalid host/bind variable name"

java - 调试在 Oracle JVM 中运行的 Java 代码

oracle - 如何使用 oim 11g 客户端 api 以编程方式获取配置资源

oracle 表单未显示所有字段

java - OneToOne + 无 Foreginkey + 单向 + Datamissing => EntityNotFoundException

java - Oracle IN Operator 中的 JPA 和 1000 ID 使用

oracle - 将 Oracle 几何行从大地坐标迁移到笛卡尔坐标

oracle - 找到最好的版本