我正在尝试在integer
字段上运行简单的UPDATE
脚本,从而尾随的2个数字“保留”,并删除前导数字。例如,“0440”将更新为“40”。我可以在SELECT
声明中得到想要的数据,如带有整数字段的UPDATE语句中的RIGHT函数
SELECT RIGHT(field_name::varchar, 2)
FROM table_name;
不过,我碰到一个错误,当我尝试在UPDATE
脚本中使用了相同的功能,如:
UPDATE schema_name.table_name
SET field_name = RIGHT(field_name::varchar, 2);
我收到的错误消息是:
列。 。 。是整数类型,但表达式是文本类型。 。 。 提示:你将需要重写或铸表达
对于澄清,是'FIELD_NAME你的表中有'int'或'varchar'列吗? –
@ChrisJ:标题和错误消息说'整数'(尽管问题文本有点误导)。 –
这个问题似乎太明显了,所以我认为它是值得澄清 –