我将使用文本值转换为整数值时遇到问题。
在表格地址中我有专栏'邮政编码'键入TEXT。我创建了一个新的列名称' postcode_int'类型整数。 在列'邮政编码'有些人写了例如' 330 ......'或' 00234'。 如何检查值是否为整数。如果值为整数,则如何将此值从TEXT类型转换为Integer类型,并将它们设置为列&post; postcode_int'所以以后我可以做到' 11111'和' 99999'。
我试图做这样的事情:
UPDATE adresse
SET postcode_int= case
when pg_typeof( REGEXP_REPLACE( COALESCE(trim( LEADING '0' FROM postcode), '0'),
'[^0-9]*' ,'0')::integer
) = integer
then postcode_int
else 0
end;
关于
安德烈
答案 0 :(得分:0)
我相信你需要的SQL是:
UPDATE adresse
SET postcode_int = CAST(postcode AS INT)
这是基于你的例子。
如果答案不明确,请要求修改。