oracle 时间使用集合(PL/SQL)

系统 1559 0
      
          1
      
      
        --
      
      
        --------------------------------------------------------------------------
      
      
          2
      
      
        --
      
      
        ----------oracle time ------------
      
      
          3
      
      
        --
      
      
        ---------------------------------------------------------------------------
      
      
          4
      
      
        /*
      
      
          5
      
      
                Year:      


      
      
          6
      
      
                    yy two digits 两位年                显示值:12


      
      
          7
      
      
                    yyy three digits 三位年                显示值:012


      
      
          8
      
      
                    yyyy four digits 四位年                显示值:2012


      
      
          9
      
      
         10
      
      
                Month:      


      
      
         11
      
      
                    mm    number     两位月              显示值:12


      
      
         12
      
      
                    mon    abbreviated 字符集表示          显示值:12月,若是英文版,显示    


      
      
         13
      
      
                    month spelled out 字符集表示          显示值:12月,若是英文版,显示


      
      
         14
      
      
         15
      
      
                Day:      


      
      
         16
      
      
                    dd     number         当月第几天        显示值:


      
      
         17
      
      
                    ddd   number         当年第几天        显示值:


      
      
         18
      
      
                    dy     abbreviated 当周第几天简写    显示值:,若是英文版,显示


      
      
         19
      
      
                    day    spelled out   当周第几天全写    显示值:,若是英文版,显示      


      
      
         20
      
      
                    ddspth spelled out, ordinal twelfth 


      
      
         21
      
      
         22
      
      
                Hour:


      
      
         23
      
      
                    hh    two digits 12小时进制            显示值:


      
      
         24
      
      
                    hh24 two digits 24小时进制            显示值:


      
      
         25
      
      
         26
      
      
                    Minute:


      
      
         27
      
      
                    mi    two digits 60进制                显示值:


      
      
         28
      
      
         29
      
      
                Second:


      
      
         30
      
      
                    ss    two digits 60进制                显示值:


      
      
         31
      
      
         32
      
      
                其它:


      
      
         33
      
      
                    Q     digit         季度                  显示值:


      
      
         34
      
      
                    WW    digit         当年第几周            显示值:


      
      
         35
      
      
                    W    digit          当月第几周            显示值:


      
      
         36
      
      
         37
      
      
                24小时格式下时间范围为: 0:00:00 - 23:59:59....      


      
      
         38
      
      
                12小时格式下时间范围为: 1:00:00 - 12:59:59 .... 


      
      
         39
      
      
        */
      
      
         40
      
      
        --
      
      
        1.得到当前时间
      
      
         41
      
      
        --
      
      
        英文:
      
      
         42
      
      
        SELECT
      
      
         TO_CHAR(sysdate,


      
      
         43
      
      
        '
      
      
        MM/DD/YYYY HH:MI AM
      
      
        '
      
      
        ,


      
      
         44
      
      
        '
      
      
        NLS_DATE_LANGUAGE = American
      
      
        '
      
      
        )


      
      
         45
      
      
        FROM
      
      
         DUAL


      
      
         46
      
      
        --
      
      
        日文:
      
      
         47
      
      
        SELECT
      
      
         TO_CHAR(sysdate,


      
      
         48
      
      
        '
      
      
        MM/DD/YYYY HH:MI AM
      
      
        '
      
      
        ,


      
      
         49
      
      
        '
      
      
        NLS_DATE_LANGUAGE = Japanese
      
      
        '
      
      
        )


      
      
         50
      
      
        FROM
      
      
         DUAL


      
      
         51
      
      
        --
      
      
        中文:(特别注意NLS_DATE_LANGUAGE多个单引号)  
      
      
         52
      
      
        SELECT
      
      
         TO_CHAR(sysdate,


      
      
         53
      
      
        '
      
      
        MM/DD/YYYY HH:MI AM
      
      
        '
      
      
        ,


      
      
         54
      
      
        '
      
      
        NLS_DATE_LANGUAGE = 
      
      
        ''
      
      
        SIMPLIFIED CHINESE
      
      
        '''
      
      
        )


      
      
         55
      
      
        FROM
      
      
         DUAL  


      
      
         56
      
      
         57
      
      
        --
      
      
        得到系统时间
      
      
         58
      
      
        select
      
       to_char(sysdate,
      
        '
      
      
        yyyy-mm-dd hh24:mi:ss
      
      
        '
      
      ) 
      
        as
      
       nowTime 
      
        from
      
      
         dual; 


      
      
         59
      
      
        --
      
      
        获取时间的年 
      
      
         60
      
      
        select
      
       to_char(sysdate,
      
        '
      
      
        yyyy
      
      
        '
      
      ) 
      
        as
      
       nowYear   
      
        from
      
      
         dual; 


      
      
         61
      
      
        --
      
      
        获取时间的月 
      
      
         62
      
      
        select
      
       to_char(sysdate,
      
        '
      
      
        mm
      
      
        '
      
      )    
      
        as
      
       nowMonth 
      
        from
      
      
         dual;    


      
      
         63
      
      
        --
      
      
        获取时间的日 
      
      
         64
      
      
        select
      
       to_char(sysdate,
      
        '
      
      
        dd
      
      
        '
      
      )    
      
        as
      
       nowDay    
      
        from
      
      
         dual;  


      
      
         65
      
      
        --
      
      
        获取时间的时      
      
      
         66
      
      
        select
      
       to_char(sysdate,
      
        '
      
      
        hh24
      
      
        '
      
      ) 
      
        as
      
       nowHour   
      
        from
      
      
         dual;   


      
      
         67
      
      
        --
      
      
        获取时间的分   
      
      
         68
      
      
        select
      
       to_char(sysdate,
      
        '
      
      
        mi
      
      
        '
      
      )    
      
        as
      
       nowMinute 
      
        from
      
      
         dual;   


      
      
         69
      
      
        --
      
      
        获取时间的秒   
      
      
         70
      
      
        select
      
       to_char(sysdate,
      
        '
      
      
        ss
      
      
        '
      
      )    
      
        as
      
       nowSecond 
      
        from
      
      
         dual;  


      
      
         71
      
      
        --
      
      
        2.显示成英文字符
      
      
         72
      
      
        --
      
      
        显示成文英文数字
      
      
         73
      
      
        select
      
       to_char( to_date(
      
        2012
      
      ,
      
        '
      
      
        J
      
      
        '
      
      ),
      
        '
      
      
        Jsp
      
      
        '
      
      ) 
      
        from
      
      
         dual; 


      
      
         74
      
      
        --
      
      
        结果为: Two Thousand Twelve
      
      
         75
      
      
        SELECT
      
       to_char(to_date(
      
        12
      
      ,
      
        '
      
      
        J
      
      
        '
      
      ),
      
        '
      
      
        Jsp
      
      
        '
      
      ) 
      
        FROM
      
      
         dual;


      
      
         76
      
      
        --
      
      
        3.求某天是星期几
      
      
         77
      
      
        select
      
       to_char(to_date(
      
        '
      
      
        2012-12-26
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd
      
      
        '
      
      ),
      
        '
      
      
        day
      
      
        '
      
      ) 
      
        DAY
      
      
        from
      
      
         dual;      


      
      
         78
      
      
        --
      
      
        显示为星期三
      
      
         79
      
      
        SELECT
      
       to_char(to_date(
      
        '
      
      
        2012-12-26
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd
      
      
        '
      
      ),
      
        '
      
      
        day
      
      
        '
      
      ,
      
        '
      
      
        NLS_DATE_LANGUAGE = American
      
      
        '
      
      ) 
      
        DAY
      
      
        FROM
      
      
         dual;  


      
      
         80
      
      
        --
      
      
        显示为wednesday
      
      
         81
      
      
        --
      
      
        更改显示语言为american
      
      
         82
      
      
        ALTER
      
       SESSION 
      
        SET
      
       NLS_DATE_LANGUAGE
      
        =
      
      
        '
      
      
        AMERICAN
      
      
        '
      
      
        ;


      
      
         83
      
      
        --
      
      
        设置为简体中文
      
      
         84
      
      
        ALTER
      
       SESSION 
      
        SET
      
       NLS_DATE_LANGUAGE
      
        =
      
      
        '
      
      
        SIMPLIFIED CHINESE
      
      
        '
      
      
        ;  


      
      
         85
      
      
         86
      
      
        --
      
      
        4.求两个日期间的天数      
      
      
         87
      
      
        SELECT
      
      
        FLOOR
      
      (SYSDATE 
      
        -
      
       to_date(
      
        '
      
      
        20121201
      
      
        '
      
      ,
      
        '
      
      
        yyyymmdd
      
      
        '
      
      )) 
      
        FROM
      
      
         dual;  


      
      
         88
      
      
         89
      
      
        --
      
      
         5. 时间为null的用法 
      
      
         90
      
      
        CREATE
      
      
        TABLE
      
      
         tTime


      
      
         91
      
             ( ID 
      
        NUMBER
      
      
        ,


      
      
         92
      
      
                TIME DATE


      
      
         93
      
      
              );


      
      
         94
      
      
        INSERT
      
      
        INTO
      
       tTime(ID,TIME) 
      
        VALUES
      
      (
      
        1
      
      ,to_date(
      
        '
      
      
        2012-12-12
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd
      
      
        '
      
      
        ));


      
      
         95
      
      
        INSERT
      
      
        INTO
      
       tTime(ID) 
      
        VALUES
      
      (
      
        2
      
      
        );


      
      
         96
      
      
        SELECT
      
      
        *
      
      
        FROM
      
      
         tTime;  


      
      
         97
      
      
         98
      
      
        CREATE
      
      
        TABLE
      
       nTime 
      
        AS
      
      
        SELECT
      
      
        *
      
      
        FROM
      
      
         tTime; 


      
      
         99
      
      
        SELECT
      
      
        *
      
      
        FROM
      
      
         nTIme;


      
      
        100
      
      
        101
      
      
        select
      
       ID, TIME 
      
        from
      
      
         tTime     


      
      
        102
      
      
        UNION
      
      
        103
      
      
        SELECT
      
       ID ,TO_DATE(
      
        null
      
      ) 
      
        from
      
      
         nTime;  


      
      
        104
      
      
        105
      
      
        --
      
      
        6. 日期格式冲突问题      
      
      
        106
      
      
        --
      
      
        输入的格式要看你安装的ORACLE字符集的类型, 比如: US7ASCII, date格式的类型就是: '01-Jan-01'      
      
      
        107
      
      
        alter
      
       system 
      
        set
      
       NLS_DATE_LANGUAGE 
      
        =
      
      
         American;      


      
      
        108
      
      
        alter
      
       session 
      
        set
      
       NLS_DATE_LANGUAGE 
      
        =
      
      
         American;      


      
      
        109
      
      
        --
      
      
        或者在to_date中写      
      
      
        110
      
      
        select
      
       to_char(to_date(
      
        '
      
      
        2012-12-26
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd
      
      
        '
      
      ),
      
        '
      
      
        day
      
      
        '
      
      ,
      
        '
      
      
        NLS_DATE_LANGUAGE = American
      
      
        '
      
      ) 
      
        from
      
      
         dual;      


      
      
        111
      
      
        --
      
      
         注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,      
      
      
        112
      
      
        --
      
      
        可查看      
      
      
        113
      
      
        select
      
      
        *
      
      
        from
      
      
         nls_session_parameters;      


      
      
        114
      
      
        select
      
      
        *
      
      
        from
      
      
         V$NLS_PARAMETERS; 


      
      
        115
      
      
        116
      
      
        --
      
      
         7.查找除去某些天的天数之和
      
      
        117
      
      
        select
      
      
        count
      
      (
      
        *
      
      
        )      


      
      
        118
      
      
        from
      
       ( 
      
        select
      
       rownum
      
        -
      
      
        1
      
      
         rnum      


      
      
        119
      
      
        from
      
      
         all_objects      


      
      
        120
      
      
        where
      
       rownum 
      
        <=
      
       to_date(
      
        '
      
      
        2013-01-01
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd
      
      
        '
      
      ) 
      
        -
      
       to_date(
      
        '
      
      
        2012-      


      
      
        121
      
      
               01-01
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd
      
      
        '
      
      )
      
        +
      
      
        1
      
      
        122
      
      
              )      


      
      
        123
      
      
        where
      
       to_char( to_date(
      
        '
      
      
        2012-01-01
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd
      
      
        '
      
      )
      
        +
      
      rnum
      
        -
      
      
        1
      
      , 
      
        '
      
      
        D
      
      
        '
      
      
         )      


      
      
        124
      
      
        not
      
      
        in
      
       ( 
      
        '
      
      
        1
      
      
        '
      
      , 
      
        '
      
      
        7
      
      
        '
      
      
         )      


      
      
        125
      
      
        126
      
      
        --
      
      
         查找2012-01-01至2013-01-01间除星期一和七的天数      
      
      
        127
      
      
        --
      
      
        在前后分别调用DBMS_UTILITY.GET_TIME, 让后将结果相减(得到的是1/100秒, 而不是毫秒).     
      
      
        128
      
      
        --
      
      
        8. 查找月份     
      
      
        129
      
      
        select
      
       months_between(to_date(
      
        '
      
      
        01-31-2013
      
      
        '
      
      ,
      
        '
      
      
        MM-DD-YYYY
      
      
        '
      
      ),to_date(
      
        '
      
      
        12-31-2012
      
      
        '
      
      ,
      
        '
      
      
        MM-DD-YYYY
      
      
        '
      
      )) "MONTHS" 
      
        FROM
      
      
         DUAL;  


      
      
        130
      
      
        131
      
      
        select
      
       months_between(to_date(
      
        '
      
      
        02-01-2013
      
      
        '
      
      ,
      
        '
      
      
        MM-DD-YYYY
      
      
        '
      
      ),to_date(
      
        '
      
      
        12-31-2012
      
      
        '
      
      ,
      
        '
      
      
        MM-DD-YYYY
      
      
        '
      
      )) "MONTHS" 
      
        FROM
      
      
         DUAL;   


      
      
        132
      
      
        133
      
      
        --
      
      
        9.显示时间
      
      
        134
      
      
        select
      
       to_char(sysdate,
      
        '
      
      
        hh:mi:ss
      
      
        '
      
      ) TIME 
      
        from
      
      
         all_objects;      


      
      
        135
      
      
        --
      
      
        函数实现
      
      
        136
      
      
        create
      
      
        or
      
      
        replace
      
      
        function
      
       sys_date 
      
        return
      
       date 
      
        is
      
      
        137
      
      
        begin
      
      
        138
      
      
        return
      
      
         sysdate;      


      
      
        139
      
      
        end
      
      
        ;      


      
      
        140
      
      
        select
      
       to_char(sys_date,
      
        '
      
      
        hh:mi:ss
      
      
        '
      
      ) 
      
        from
      
      
         all_objects;   


      
      
        141
      
      
        142
      
      
        --
      
      
        10.获得小时数      
      
      
        143
      
      
        --
      
      
        extract()找出日期或间隔值的字段值
      
      
        144
      
      
        SELECT
      
       EXTRACT(HOUR 
      
        FROM
      
      
        TIMESTAMP
      
      
        '
      
      
        2012-12-24 12:48:36
      
      
        '
      
      ) 
      
        from
      
      
         dual;      


      
      
        145
      
      
        select
      
       sysdate ,to_char(sysdate,
      
        '
      
      
        hh24
      
      
        '
      
      ) 
      
        from
      
      
         dual;      


      
      
        146
      
      
        147
      
      
        --
      
      
         11.年月日的处理      
      
      
        148
      
      
        select
      
      
         older_date,      


      
      
        149
      
      
               newer_date,      


      
      
        150
      
      
               years,      


      
      
        151
      
      
               months,      


      
      
        152
      
      
        abs
      
      
        (      


      
      
        153
      
      
                trunc(      


      
      
        154
      
                newer_date
      
        -
      
      
        155
      
                add_months( older_date,years
      
        *
      
      
        12
      
      
        +
      
      
        months )      


      
      
        156
      
      
                )      


      
      
        157
      
      
               ) days 


      
      
        158
      
      
        159
      
      
        from
      
       ( 
      
        select
      
      
        160
      
               trunc(months_between( newer_date, older_date )
      
        /
      
      
        12
      
      
        ) YEARS,      


      
      
        161
      
               mod(trunc(months_between( newer_date, older_date )),
      
        12
      
      
         ) MONTHS,      


      
      
        162
      
      
                newer_date,      


      
      
        163
      
      
                older_date      


      
      
        164
      
      
        from
      
      
         ( 


      
      
        165
      
      
        select
      
       hiredate older_date, add_months(hiredate,rownum)
      
        +
      
      
        rownum newer_date      


      
      
        166
      
      
        FROM
      
      
          emp 


      
      
        167
      
      
                     )      


      
      
        168
      
      
              );     


      
      
        169
      
      
        --
      
      
        12.处理月份天数不定的办法      
      
      
        170
      
      
        select
      
       to_char(add_months(last_day(sysdate) 
      
        +
      
      
        1
      
      , 
      
        -
      
      
        2
      
      ), 
      
        '
      
      
        yyyymmdd
      
      
        '
      
      ),last_day(sysdate) 
      
        from
      
      
         dual    


      
      
        171
      
      
        172
      
      
        173
      
      
        --
      
      
        13.找出今年的天数      
      
      
        174
      
      
        select
      
       add_months(trunc(sysdate,
      
        '
      
      
        year
      
      
        '
      
      ), 
      
        12
      
      ) 
      
        -
      
       trunc(sysdate,
      
        '
      
      
        year
      
      
        '
      
      ) 
      
        from
      
      
         dual    


      
      
        175
      
      
        --
      
      
        14.不同时区的处理      
      
      
        176
      
      
        select
      
       to_char( NEW_TIME( sysdate, 
      
        '
      
      
        GMT
      
      
        '
      
      ,
      
        '
      
      
        EST
      
      
        '
      
      ), 
      
        '
      
      
        dd/mm/yyyy hh:mi:ss
      
      
        '
      
      
        ) ,sysdate      


      
      
        177
      
      
        from
      
      
         dual; 


      
      
        178
      
      
        179
      
      
        --
      
      
        15.5秒钟一个间隔      
      
      
        180
      
      
        Select
      
       TO_DATE(
      
        FLOOR
      
      (TO_CHAR(sysdate,
      
        '
      
      
        SSSSS
      
      
        '
      
      )
      
        /
      
      
        300
      
      ) 
      
        *
      
      
        300
      
      ,
      
        '
      
      
        SSSSS
      
      
        '
      
      ) ,TO_CHAR(sysdate,
      
        '
      
      
        SSSSS
      
      
        '
      
      
        )      


      
      
        181
      
      
        from
      
      
         dual    


      
      
        182
      
      
        --
      
      
        16.一年的第几天      
      
      
        183
      
      
        select
      
       TO_CHAR(SYSDATE,
      
        '
      
      
        DDD
      
      
        '
      
      ),sysdate 
      
        from
      
      
         dual


      
      
        184
      
      
        --
      
      
        17.计算小时,分,秒,毫秒      
      
      
        185
      
      
        select
      
      
        186
      
      
             Days,      


      
      
        187
      
      
             A,      


      
      
        188
      
            TRUNC(A
      
        *
      
      
        24
      
      
        ) Hours,      


      
      
        189
      
            TRUNC(A
      
        *
      
      
        24
      
      
        *
      
      
        60
      
      
        -
      
      
        60
      
      
        *
      
      TRUNC(A
      
        *
      
      
        24
      
      
        )) Minutes,      


      
      
        190
      
            TRUNC(A
      
        *
      
      
        24
      
      
        *
      
      
        60
      
      
        *
      
      
        60
      
      
        -
      
      
        60
      
      
        *
      
      TRUNC(A
      
        *
      
      
        24
      
      
        *
      
      
        60
      
      
        )) Seconds,      


      
      
        191
      
            TRUNC(A
      
        *
      
      
        24
      
      
        *
      
      
        60
      
      
        *
      
      
        60
      
      
        *
      
      
        100
      
      
        -
      
      
        100
      
      
        *
      
      TRUNC(A
      
        *
      
      
        24
      
      
        *
      
      
        60
      
      
        *
      
      
        60
      
      
        )) mSeconds      


      
      
        192
      
      
        from
      
      
        193
      
      
            (      


      
      
        194
      
      
        select
      
      
        195
      
      
             trunc(sysdate) Days,      


      
      
        196
      
            sysdate 
      
        -
      
      
         trunc(sysdate) A      


      
      
        197
      
      
        from
      
      
         dual      


      
      
        198
      
      
           )    


      
      
        199
      
      
        --
      
      
        18,round[舍入到最接近的日期](day:舍入到最接近的星期日)
      
      
        200
      
      
        select
      
      
         sysdate S1,


      
      
        201
      
      
        round
      
      
        (sysdate) S2 ,


      
      
        202
      
      
        round
      
      (sysdate,
      
        '
      
      
        year
      
      
        '
      
      ) 
      
        YEAR
      
      
        ,


      
      
        203
      
      
        round
      
      (sysdate,
      
        '
      
      
        month
      
      
        '
      
      ) 
      
        MONTH
      
      
         ,


      
      
        204
      
      
        round
      
      (sysdate,
      
        '
      
      
        day
      
      
        '
      
      ) 
      
        DAY
      
      
        from
      
      
         dual


      
      
        205
      
      
        206
      
      
        --
      
      
        19,trunc[截断到最接近的日期,单位为天] ,返回的是日期类型
      
      
        207
      
      
        select
      
      
         sysdate S1,                     


      
      
        208
      
            trunc(sysdate) S2,                 
      
        --
      
      
        返回当前日期,无时分秒
      
      
        209
      
            trunc(sysdate,
      
        '
      
      
        year
      
      
        '
      
      ) 
      
        YEAR
      
      ,        
      
        --
      
      
        返回当前年的1月1日,无时分秒
      
      
        210
      
            trunc(sysdate,
      
        '
      
      
        month
      
      
        '
      
      ) 
      
        MONTH
      
       ,     
      
        --
      
      
        返回当前月的1日,无时分秒
      
      
        211
      
            trunc(sysdate,
      
        '
      
      
        day
      
      
        '
      
      ) 
      
        DAY
      
      
        --
      
      
        返回当前星期的星期天,无时分秒
      
      
        212
      
      
        from
      
      
         dual


      
      
        213
      
      
        214
      
      
        --
      
      
        20,返回日期列表中最晚日期
      
      
        215
      
      
        select
      
       greatest(
      
        '
      
      
        01-1月-04
      
      
        '
      
      ,
      
        '
      
      
        04-1月-04
      
      
        '
      
      ,
      
        '
      
      
        10-2月-04
      
      
        '
      
      ) 
      
        from
      
      
         dual


      
      
        216
      
      
        --
      
      
        21.计算时间差
      
      
        217
      
      
        --
      
      
         注:oracle时间差是以天数为单位,所以换算成年月,日
      
      
        218
      
      
        219
      
      
        select
      
      
        floor
      
      (to_number(sysdate
      
        -
      
      to_date(
      
        '
      
      
        2012-11-12 15:55:03
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd hh24:mi:ss
      
      
        '
      
      ))
      
        /
      
      
        365
      
      ) 
      
        as
      
       spanYears 
      
        from
      
       dual;        
      
        --
      
      
        时间差-年
      
      
        220
      
      
        select
      
      
        floor
      
      (to_number(sysdate
      
        -
      
      to_date(
      
        '
      
      
        2012-11-12 15:55:03
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd hh24:mi:ss
      
      
        '
      
      ))) 
      
        as
      
       spanDays 
      
        from
      
       dual;             
      
        --
      
      
        时间差-天
      
      
        221
      
      
        select
      
      
        floor
      
      (to_number(sysdate
      
        -
      
      to_date(
      
        '
      
      
        2012-11-12 15:55:03
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd hh24:mi:ss
      
      
        '
      
      ))
      
        *
      
      
        24
      
      ) 
      
        as
      
       spanHours 
      
        from
      
       dual;       
      
        --
      
      
        时间差-时
      
      
        222
      
      
        select
      
      
        floor
      
      (to_number(sysdate
      
        -
      
      to_date(
      
        '
      
      
        2012-11-12 15:55:03
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd hh24:mi:ss
      
      
        '
      
      ))
      
        *
      
      
        24
      
      
        *
      
      
        60
      
      ) 
      
        as
      
       spanMinutes 
      
        from
      
       dual;    
      
        --
      
      
        时间差-分
      
      
        223
      
      
        select
      
      
        floor
      
      (to_number(sysdate
      
        -
      
      to_date(
      
        '
      
      
        2012-11-12 15:55:03
      
      
        '
      
      ,
      
        '
      
      
        yyyy-mm-dd hh24:mi:ss
      
      
        '
      
      ))
      
        *
      
      
        24
      
      
        *
      
      
        60
      
      
        *
      
      
        60
      
      ) 
      
        as
      
       spanSeconds 
      
        from
      
       dual; 
      
        --
      
      
        时间差-秒
      
      
        224
      
      
        --
      
      
        22.查找月的第一天,最后一天
      
      
        225
      
      
        SELECT
      
       Trunc(Trunc(SYSDATE, 
      
        '
      
      
        MONTH
      
      
        '
      
      ) 
      
        -
      
      
        1
      
      , 
      
        '
      
      
        MONTH
      
      
        '
      
      
        ) First_Day_Last_Month,


      
      
        226
      
              Trunc(SYSDATE, 
      
        '
      
      
        MONTH
      
      
        '
      
      ) 
      
        -
      
      
        1
      
      
        /
      
      
        86400
      
      
         Last_Day_Last_Month,


      
      
        227
      
              Trunc(SYSDATE, 
      
        '
      
      
        MONTH
      
      
        '
      
      
        ) First_Day_Cur_Month,


      
      
        228
      
              LAST_DAY(Trunc(SYSDATE, 
      
        '
      
      
        MONTH
      
      
        '
      
      )) 
      
        +
      
      
        1
      
      
        -
      
      
        1
      
      
        /
      
      
        86400
      
      
         Last_Day_Cur_Month


      
      
        229
      
      
        FROM
      
       dual;
    

 

oracle 时间使用集合(PL/SQL)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论