博客
关于我
oracle 时间函数
阅读量:793 次
发布时间:2023-02-24

本文共 2311 字,大约阅读时间需要 7 分钟。

Oracle?????PL/SQL????????

????????????Oracle??????????????????????????????????????????????????

????????

Oracle???????????????????SYSDATE?LAST_DAY?ADD_MONTHS?MONTHS_BETWEEN?NEXT_DAY?????????????????????????????????????????????????????????

1. SYSDATE

SYSDATE??????????????????????????????

SELECT to_char(sysdate, 'yyyy-mm-dd') FROM dual; -- ???????????

2. LAST_DAY

LAST_DAY????????????????????????????????

SELECT to_char(last_day(sysdate), 'yyyy-mm-dd') FROM dual; -- ??????????

3. ADD_MONTHS

ADD_MONTHS?????????????????????????

SELECT add_months(sysdate, 2) FROM dual; -- ?????????

4. MONTHS_BETWEEN

MONTHS_BETWEEN???????????????????????????????????????????

SELECT months_between(to_date('2005-11-12', 'yyyy-mm-dd'), sysdate) FROM dual;

??PL/SQL????????

?PL/SQL?????????????????????????????????????????

1. ???????????

?????????????????????????????????

SELECT to_char(last_day(add_months(sysdate, 1), 'yyyy-mm-dd') FROM dual;

2. ?????????

??????????????????????????????????

SELECT to_char(trunc(sysdate, 'mm') + 1, 'yyyy-mm-dd') FROM dual;

3. ?????????

NEXT_DAY?????????????????????

SELECT next_day(to_date('20050620', 'yyyy-mm-dd'), 1) FROM dual;

?????????????????

??????????????????????????????????

CREATE OR REPLACE FUNCTION Get_WorkingDays(ny IN VARCHAR2) RETURN INTEGER ISBEGIN  Result := 0;  myts := to_char(last_day(to_date(ny, 'yyyymm')), 'dd');  LOOP    rq := TO_date(ny||substr(100 + ROWNUM, 2, 2), 'yyyymmdd');    scts := rq - to_date('2001-12-30', 'yyyy-mm-dd');    IF MOD(MOD(scts, 7) + 7, 7) NOT IN (0, 6) THEN      Result := Result + 1;    END IF;    djt := djt + 1;    EXIT WHEN djt > myts;  END LOOP;  RETURN Result;END Get_WorkingDays;

?????????????

??????????????????????TO_CHAR???????????????????????????????????

ALTER SESSION SET time_zone = '-11:00';SELECT sessiontimezone, current_timestamp FROM dual;

1. ???????

????LOCALTIMESTAMP??????????????????????

SELECT localtimestamp FROM dual;

2. ??????

TO_CHAR????????????????????

SELECT to_char(current_timestamp, 'yyyy-mm-dd hh24:mi:ss') FROM dual;

???????????

???Oracle?????????????????????

1. ????????????

??????????????????Oracle?????????????

2. ????????

????????????????????????????

3. ??????

??????????????????????

SELECT round((sysdate - sysdate - 3.111) * 1440) FROM dual;

????

??????????Oracle???????????????????????????????????????????

转载地址:http://sapfk.baihongyu.com/

你可能感兴趣的文章
Oracle PL/SQL Dev工具(破解版)被植入勒索病毒的安全预警及自查通告
查看>>
oracle pl/sql 导出用户表结构
查看>>
Oracle PLSQL Demo - 17.游标查询个别字段(非整表)
查看>>
【C/C++学院】(6)构造函数/析构函数/拷贝构造函数/深copy浅copy
查看>>
oracle rac 安装 PRVG-13606 ntp 同步报错解决过程
查看>>
Oracle RAC性能调整的方案
查看>>
oracle rac集群的东西之QQ聊天
查看>>
UML— 用例图
查看>>
Oracle Schema Objects——Tables——Table Compression
查看>>
oracle scott趣事
查看>>
oracle script
查看>>
Oracle select表要带双引号的原因
查看>>
Oracle SOA Suit Adapter
查看>>
Oracle Spatial GeoRaster 金字塔栅格存储
查看>>
Oracle spatial 周边查询SQL
查看>>
Oracle Spatial空间数据库建立
查看>>
UML— 活动图
查看>>
oracle sqlplus已停止工作,安装完成客户端后sqlplus报“段错误”
查看>>
oracle SQLserver 函数
查看>>
oracle sql分组(group,根据多个内容分组)在select之后from之前 再进行select查询,复杂子查询的使用
查看>>