我需要将表中的版本列从VARCHAR更新为int。
版本列当前将版本保存为“ v”和数字(例如v1,v2,v3)的组合,我希望将其作为数字。
我尝试使用此sql查询来更新表列:
alter table vanities alter column version TYPE INTEGER USING(version::integer);
但是,出现以下错误:
[22P02] ERROR: invalid input syntax for integer: "v1"
我是否可以使用SQL查询删除所有v字符的列,然后将其转换为整数?
答案 0 :(得分:3)
尝试摆脱第一个字符:
alter table vanities alter column version TYPE INTEGER USING (substr(version, 2)::integer);
Here是db <>小提琴。