Oracle11g 神谕NUMTOYMINTERVAL

Oracle11g 神谕NUMTOYMINTERVAL,oracle11g,Oracle11g,有人能解释一下NUMTOYMINTERVAL的逻辑吗。我浏览了很多网站,但都没有找到 你能解释一下下面的具体例子吗 select (NUMTOYMINTERVAL(30,'month')) from dual; select (NUMTOYMINTERVAL(30,'YEAR')) from dual; PARTITION BY RANGE (RECORDDATE) INTERVAL (NUMTOYMINTERVAL(1,'MONTH')) 提前感谢此网站提供了一个很好的解释:

有人能解释一下NUMTOYMINTERVAL的逻辑吗。我浏览了很多网站,但都没有找到

你能解释一下下面的具体例子吗

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

提前感谢

此网站提供了一个很好的解释:

INTERVAL数据类型是用于存储一段时间的数据类型。有两种间隔:以年和月为单位存储差异的年到月间隔,以及以天、小时、分钟和秒为单位存储差异的日到秒间隔

它提供了一种指示时间长度的方法。。年/月(
numtoymenterval
)或天/小时/分钟/秒:(
至数据间隔

因此,在您的第一个示例中:

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

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

  1 row selected.
它返回一个
间隔
,表示“30个月”的时间长度。。结果显示“2年零6个月”

另一方面,Tom Kyte的这篇文章很有趣,他建议避免使用
NUMTOYMINTERVAL
,因为在月底的时候会有一些行为

我不建议使用NUMTOYMINTERVAL函数。其原因与 函数在月末运行