2 stacktc StackTc 于 2017.09.17 09:29 提问

Oracle表字段类型问题

oracle数据类型int转varchar

是这样的,由于某种原因,本人想将表中int类型的字段变成varchar,
但是需要保留原来的数据,比如原来的表中int类型的2改成string类型的2,
谁知道 如何做到,谢谢。

4个回答

Renee1995
Renee1995   2017.09.18 10:34
已采纳

/*修改原字段名name为name_tmp*/
alter table tb rename column name to name_tmp;

/*增加一个和原字段名同名的字段name*/
alter table tb add name varchar2(40);

/*将原字段name_tmp数据更新到增加的字段name*/
update tb set name=trim(name_tmp);

/*更新完,删除原字段name_tmp*/
alter table tb drop column name_tmp;

StackTc
StackTc 感谢!
2 个月之前 回复
caozhy
caozhy   Ds   Rxr 2017.09.17 10:04

to_char(你的int字段)

StackTc
StackTc 可以写一句完整的sql吗。
2 个月之前 回复
hhhCSDNbk
hhhCSDNbk   2017.09.18 08:41

SELECT to_char(id) FROM a where 1=1 字段id 就是用了类型转换成了string

StackTc
StackTc 这个不是 select语句吗,我要的是 直接 alter table XXX vachar 这样改变字段类型的,以便我用程序可以输入 字符串类型的数据。
2 个月之前 回复
CSDN1642816671
CSDN1642816671   2017.09.18 11:09

把那一列的数据拷贝出来,放在excel里,清空后改成你需要的类型,再粘贴回去

CSDN1642816671
CSDN1642816671 最低版本的excel 2003支持拷贝65535行,2007我最多拷贝过90万行数据
2 个月之前 回复
StackTc
StackTc 要是我有10000行数据怎么办,哈哈。
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片