dbms_lock.sleep,日期格式

来源:互联网 发布:苹果便签软件关闭 编辑:程序博客网 时间:2024/05/19 10:39

一.     dbms_lock.sleep

执行ORACLE_HOME/rdbms/admin/dbmslock.sql来创建dbms_lock;

在dba身份下grant execute on dbms_lock to username;

测试代码

a.

BEGIN

  DBMS_OUTPUT.put_line(TO_CHAR(SYSDATE,'yyyymmddhh24miss'));

  dbms_lock.sleep(10);

  dbms_output.put_line(TO_CHAR(SYSDATE,'yyyymmddhh24miss'));

  END;

b.

CREATE TABLE t(IDNUMBER,dat VARCHAR2(32));

 

DECLARE

BEGIN

  FOR I IN 1 .. 10LOOP

    INSERT INTO T VALUES (I, TO_CHAR(SYSDATE,'yyyymmddhh24miss'));

    COMMIT;

    DBMS_LOCK.SLEEP(5);

  END LOOP;

END;

二.日期格式

--a.因为sql中不区分大小写,mm被认为和MM一样,所以在格式转化张用mi代替mm来显示分钟

SELECT to_char(SYSDATE,'YYYY-MM-DD HH24:mi:SS')FROM DUAL;

--b.对日期的加减操作

SELECT SYSDATE-INTERVAL'7' hour FROM dual; --year,month,day,hour,minute

SELECT SYSDATE-3*INTERVAL'8' HOUR FROM dual;

--c.日期到字符

SELECT to_char(SYSDATE,'YYYYDDD HH24:MI:SS')FROM DUAL;

SELECT TO_CHAR(SYSDATE,'YYYY DAY')FROM DUAL;

SELECT to_char(SYSDATE,'IW-D')FROM DUAL;

日期格式参数含义说明 

D 一周中的星期几 

DAY 天的名字,使用空格填充到9个字符 

DD 月中的第几天 

DDD 年中的第几天 

DY 天的简写名 

IW ISO标准的年中的第几周 

IYYY ISO标准的四位年份 

YYYY 四位年份 

YYY,YY,Y 年份的最后三位,两位,一位 

HH 小时,按12小时计 

HH24 小时,按24小时计 

MI 分 

SS 秒 

MM 月 

Mon 月份的简写 

Month 月份的全名 

W 该月的第几个星期 

WW 年中的第几个星期

--d.日期截取

SELECT TRUNC(SYSDATE,'YEAR')FROM DUAL;

 

SELECT TRUNC(SYSDATE)FROM DUAL;

 

SELECT TRUNC(SYSDATE,'YYYY')FROM DUAL;

 

SELECT TO_CHAR(CURRENT_TIMESTAMP(5),'yyyymmdd hh24:mi:ssxFF')FROM dual;

 

SELECT TO_CHAR(CURRENT_TIMESTAMP(9),'yyyy-month-day hh24:mi:ssxFF')FROM dual;

 

SELECTdbms_utility.get_time FROM dual;

测试代码

--记录程序运行时间 DBMS_UTILITY.GET_TIME

DECLARE

  BEGIN_TIME NUMBER DEFAULTDBMS_UTILITY.GET_TIME;

  END_TIME  NUMBER;

BEGIN

  FOR I IN 1 .. 10LOOP

    INSERT INTO T VALUES (I,SYSDATE);

    DBMS_LOCK.SLEEP(1);

  END LOOP;

  END_TIME :=DBMS_UTILITY.GET_TIME;

  DBMS_OUTPUT.PUT_LINE('开始时间:'|| BEGIN_TIME || ';结束时间:' || END_TIME||

                       ';时间差(s):'|| (END_TIME - BEGIN_TIME) /100 || ';');

END;

0 0
原创粉丝点击