SELECT to_date('19700101','yyyymmdd') + (TIMESTAMP_VALUE/1000/24/60/60) AS date_time FROM TABLENAME;
分类:Oracle
Oracle 修改blob为clob,clob为blob
应用条件
1. blob 包含文本, 内容并不是很多
2. 备份blob文本到clob
3. oracle v11
blob to clob
--Add new clob column ALTER TABLE TABLENAME ADD (CLOB_COLUMN CLOB); --copy blob value to clob UPDATE TABLENAME SET CLOB_COLUMN = UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(BLOB_COLUMN,2000)); --drop blob ALTER TABLE TABLENAME DROP COLUMN BLOB_COLUMN; --rename clob column, name same as blob's ALTER TABLE TABLENAME RENAME COLUMN CLOB_COLUMN TO BLOB_COLUMN_NEW_NAME;clob to blob
--Add new blob column ALTER TABLE TABLENAME ADD (BLOB_COLUMN BLOB); --copy clob to blob UPDATE TABLENAME SET BLOB_COLUMN = UTL_RAW.CAST_TO_RAW(CLOB_COLUMN); -- drop clob ALTER TABLE TABLENAME DROP COLUMN CLOB_COLUMN; --rename blob column ALTER TABLE TABLENAME RENAME COLUMN BLOB_COLUMN TO BLOB_COLUMN_NEW_NAME;
oracle sql : to_char 用例
转化24小时制
SELECT TO_CHAR(date_column,'YYYY-MM-DD HH24:MI:SS') FROM tablename
一些在sqlplus下有用的sql命令和知识
1. 用sysdba 无口令进入sqlplus查询系统表
sqlplus / as sysdba
2. 用匿名用户登入sqlplus,此时无任何权限
sqlplus /nolog
3. 检查数据库sid 信息
我们需要检查tnsnames.ora 文件,此文件在network 文件夹下
4. 显示缓存中的命令: l or run
1) 假设之行一条sql命令后如下
select * from table1;
2) 在执行后你可以输入 ‘run’ 或者 ‘l’, the sqlplus 控制台则会显示
select * from table1;
5. 快速执行上次的命令: /
1) 假设你已经执行如下命令
select * from table1;
2) 如果再次执行, 你可以输入 ‘/’ , the sqlplus 控制台则会输出’select * from table1′;同样的结果
6. 假设你有很长记录的表,例如用select * from tab;有很多表
你可以输入:
set pause on select * from tab;
‘set pause on’ 意思是当到达显示pagesize时,则会暂停等待你输入enter键继续
7. 当你需要不同参数运行sql时用如下语句
select * from tablename where id=&myid
执行后,提示输入id值,输入后则继续执行
8. 在sql命令里加入注释,此时以多行命令输入
例如
select columna -- this is columna comment from tablename;