我正在尝试将postgres中的'shippingDays'列转换为类型为varchar的现有数据为整数。
当前数据:
最好的方法是什么?
答案 0 :(得分:0)
UPDATE your_table
SET your_column = CASE WHEN your_column='Over 30 Days' THEN '31' ELSE regexp_replace(your_column, '\d+-(\d+) Days', E'\\1', 'g') END
测试:
SELECT CASE WHEN your_column='Over 30 Days' THEN '31' ELSE regexp_replace(your_column, '\d+-(\d+) Days', E'\\1', 'g') END
FROM your_table
对于新专栏:
UPDATE your_table
SET your_new_column = CASE WHEN your_column='Over 30 Days' THEN 31 ELSE CAST(regexp_replace(your_column, '\d+-(\d+) Days', E'\\1', 'g') AS INTEGER) END