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

  • 相关阅读:
    SQL 2012 Group By Rollup, Grouping
    SQL 2012 Restore HeaderOnly
    EasyPerformanceCounterHelper
    并发异步处理队列 .NET 4.5+ (改进性能计数器) 2013-11-16
    CodeTimerPerformance EasyPerformanceCounterHelper .NET 4.5
    csc.rsp Nuget MVC/WebAPI 5.0、SignalR 2.0、Rx、Json、Azure、EntityFramework、OAuth、Spatial
    MEF Parts Sample
    免费超高速卡片式病人基本信息列表控件
    微观云计算系列谈之一:基本概念
    golang 无法将Slice类型[]a 转换为 Slice[]b
  • 原文地址:https://www.cnblogs.com/colaclicken/p/10953605.html
Copyright © 2011-2022 走看看