如何仅解析混合字段的数值。说' 11英尺',我只想找到11?
SELECT CAST(nullif('11 ft', '') AS integer);
ERROR: invalid input syntax for integer: "11 ft"
答案 0 :(得分:2)
如果您的目标是从字符串中获取第一个整数,则可以使用:
SELECT substring('11 ft' FROM E'-?[[:digit:]]+')::integer;
substring
-----------
11
(1 row)
如果您不希望解析减号,请删除-?
。