一、oracle数据库修改字段类型-oracle将查询结果存入表
-- oracle数据库修改字段类型
-- 如果字段不为空,并且你想在不删除数据的情况下更改字段类型,你可能需要使用一些额外的技巧,
-- 例如创建一个新的临时列,将旧数据复制到新列,然后删除旧列,并重命名临时列。
-- 1、添加一个临时的新列
ALTER TABLE tablename ADD (SCRIPT_BAK CLOB);
-- 2、将旧的SCRIPT列的数据复制到新列
UPDATE tablename SET SCRIPT_BAK = TO_CLOB(SCRIPT) WHERE SCRIPT IS NOT NULL;
-- 备份原来的数据,oracle将查询结果存入表
INSERT INTO target_table (column1, column2, ...)
SELECT column1, column2, ...
FROM source_table;
-- 其中,target_table为目标表名称,source_table为源表名称,column1、column2等为列名。
INSERT INTO target_table (column1, column2, ...)
SELECT column1, column2, ...
FROM source_table
WHERE condition;
-- 其中,condition为过滤条件。
注意事项:
确保目标表已经创建并且与查询结果相对应(包括列名及类型);
当执行INSERT INTO时,会自动避免重复值的插入,因此不必手动处理主键或唯一性约束。
CREATE TABLE tablename_BAK
( id NUMBER(11,0) NOT NULL ENABLE,
……
);
INSERT INTO tablename_BAK
SELECT ID,……
FROM tablename;
SELECT * FROM tablename_BAK;
-- 3、删除旧的SCRIPT列
ALTER TABLE tablename DROP COLUMN SCRIPT;
-- 4、将临时列重命名为原来的列名
ALTER TABLE tablename RENAME COLUMN SCRIPT_BAK TO SCRIPT;
二、clob字段转字符-将字符转clob类型
SELECT TO_NCLOB('你好,世界!') AS nclob_data FROM DUAL;
SELECT TO_CLOB('你好,世界!') AS nclob_data FROM DUAL;
UPDATE tablename SET
CP_CONTENT = TO_NCLOB('SE')
where ID = 404
SELECT * FROM tablename;
SELECT ID,to_char(CLOB字段名) FROM tablename;
三、oracle字符串中有单引号则使用两个连续的单引号
oracle字符串中有单引号
在Oracle中,如果字符串中包含单引号,可以通过使用两个连续的单引号来表示一个单引号。例如,如果您想插入包含单引号的字符串到表中,可以这样做:
INSERT INTO your_table (your_column) VALUES ('This is John''s book');