zoukankan      html  css  js  c++  java
  • Interval 用法总结

    语法:INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]

       该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, 有效范围是0到9, 默认值为2.

    用法:interval 得到的是一个时间间隔,是一种数据类型,可以直接与日期进行计算;

       eg> select sysdate - (interval '1' year) from dual;  (当前时间的前一年)

     1,Interval '11' year(n)

      -- 输出结果为:+11-00 (表示11年0个月)

      n为年的精度,默认值为2,'integer' 中的integer位数不能大于n

    2,interval '20' month(n)

      -- 输出结果为:+01-08(1年8个月)

      n仍为年的精度,integer的值不能使输出结果溢出(如:n=2输出结果最大值为:+99-11,所以integer值不能大于1199(=99*12+11) )

    3,interval '99-11' year(n) to month

      -- 输出结果为:+99-11

      此处的格式必须是‘integer-integer’

    4,interval '99' day(n)

      -- 输出结果为:+99 00:00:00(99天0小时)

      n为天的精度,默认值为2

    5,interval '90000' second(n)

      -- 输出结果为:+01 01:00:00.000000(1天零1小时)

      n为秒的精度(小数点后的位数),默认值为6

    6,interval '2 1:03:1' day(1) to second(3)

      -- 输出结果为:+2 01:03:01.000

    同类型的函数:NUMTODSINTERVAL/NUMTOYMINTERVAL

      1,NUMTODSINTERVAL(n, 'interval_unit')

         将n转换成interval_unit所指定的值, interval_unit可以为: DAY, HOUR, MINUTE, SECOND
          注意该函数不可以转换成YEAR和MONTH的.

        eg> select numtodsinterval(100, 'HOUR') from dual;

               -- 结果为:+000000004 04:00:00.000000000

      2,NUMTOYMINTERVAL(n, 'interval_unit')

         将n转换成interval_unit所指定的值,interval_unit可以为: YEAR, MONTH

        eg> select numtoyminterval(100, 'MONTH') from dual;

          -- 结果为:+000000008-04

  • 相关阅读:
    LIS(nlogn) POJ 3903 Stock Exchange
    LCS(滚动数组) POJ 1159 Palindrome
    LCS(打印全路径) POJ 2264 Advanced Fruits
    3-16 提取任务(第6章)
    3-15 《元编程》第6章 3-16 hook method
    3-13《元编程》第5章Class Definitions 3-14(5-4Singleton Classes,2小时)3-15(3小时✅)
    3-11 《Ruby元编程》第4章block块 3-12
    3-9《元编程》第3章Tuesday:methods
    3-8《Ruby元编程》第二章对象模型
    2-27 最短路径《啊哈算法》2-28完成四种算法
  • 原文地址:https://www.cnblogs.com/colaclicken/p/10953605.html
Copyright © 2011-2022 走看看