我正在尝试将字符串列数据排序为数字。我得到的错误如下:
ERROR: invalid input syntax for integer: "HEI001"
SQL state: 22P02
我尝试过:
CAST({COL_NAME} AS integer ) ASC
NULLIF({COL_NAME}, '')::int
但是,它没有用。请帮我。感谢。
答案 0 :(得分:0)
你应该先检查一下这个值是否为数字(使用正则表达式),然后再将其强制转换,因为除非你试图得到相应的ASCII值,否则HEI001
无法转换为整数(因为@Clodoaldo有已评论过)
CASE WHEN COL_NAME ~ '^[0-9]+$' THEN cast(COL_NAME as integer) END