hextoraw():十六进制字符串转换为raw;
rawtohex():将raw串转换为十六进制;
-- 获取某天的每分钟时间
SELECT TO_DATE('2018-03-23', 'YYYY-MM-DD') + (ROWNUM - 1) / (24 * 60)
FROM DUAL CONNECT BY ROWNUM <= 24*60;
-- 获取某天的每10分钟时间
SELECT TO_DATE('2018-03-23', 'YYYY-MM-DD') + (ROWNUM - 1) / (24 * 6)
FROM DUAL CONNECT BY ROWNUM <= 24*6;
-- 获取某天每小时的时间
SELECT TO_DATE('2018-03-23', 'YYYY-MM-DD') + (ROWNUM - 1) / 24
FROM DUAL CONNECT BY ROWNUM <= 24;
-- 获取某时间段内每天的日期
SELECT TO_DATE('2018-03-23', 'YYYY-MM-DD') + (ROWNUM - 1)
FROM DUAL CONNECT BY ROWNUM <=
TRUNC(TO_DATE('2020-03-23', 'YYYY-MM-DD')) - TRUNC(TO_DATE('2018-03-23', 'YYYY-MM-DD'));
-- 获取某时间段内每周的起始日期和其周数
SELECT TRUNC(TO_DATE('2018-03-02', 'YYYY-MM-DD') + (ROWNUM - 1) * 7, 'D') + 1 AS STARTTIME,
TO_CHAR(TO_DATE('2018-03-02', 'YYYY-MM-DD') + (ROWNUM - 1) * 7, 'IW') AS WEEK
FROM DUAL CONNECT BY ROWNUM <=
TRUNC(TO_DATE('2019-03-02', 'YYYY-MM-DD') - TO_DATE('2018-03-02', 'YYYY-MM-DD')) / 7 + 1;
-- 获取某时间段内的每月
SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2018-03-02', 'YYYY-MM-DD'), ROWNUM - 1), 'YYYY-MM')
FROM DUAL CONNECT BY ROWNUM <=
CEIL(MONTHS_BETWEEN(TO_DATE('2020-03-03', 'YYYY-MM-DD'), TO_DATE('2018-03-02','YYYY-MM-DD')));
-- 获取某时间段内每年的年份
SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2018-03-02', 'YYYY-MM-DD'), (ROWNUM - 1) * 12), 'YYYY')
FROM DUAL CONNECT BY ROWNUM <=
CEIL(MONTHS_BETWEEN(TO_DATE('2020-03-03', 'YYYY-MM-DD'), TO_DATE('2018-03-02','YYYY-MM-DD')) / 12);
当我们执行一条update语句,坂田都没响应的时候,可能就是锁表了。本文介绍如何查看是否锁表,以及怎么手动去除表的锁定。
1. 查看当前数据库中存在的锁。
select * from v$locked_object;
2. 根据object_id获取到对应对象的信息,可以查看到对应锁定的表名。
select * from all_objects where object_id = '32260231';
3. 登录上oracle所在的节点执行 sqlplus / as sysdba
4. (在sysdba用户下执行)根据步骤1中的SESSION_ID字段查询出serial#
select sid, serial# from v$session where sid = '2064';
5. (在sysdba用户下执行)根据sid, serial#执行kill session语句
alter system kill session '2064,36105';
这样就清除了对应sessionid的表锁。
快速清除所有锁:
通过如下语句可一把查出所有的sid, serial#,然后就可以快速一条条干掉了(如下图)
select sid, serial# from v$session where sid in (select distinct SESSION_ID from v$locked_object);
--查询前十分钟数据
select sysdate neaw ,(sysdate-10/1440) older from dual;