我想将具有逗号整数的"字符变化"类型的列转换为常规整数列.
我想支持从'1'到'10,000,000'的数字.
我尝试使用:to_number(fieldname,'999G999G999'),但只有在格式与字符串的确切长度匹配时才有效.
有没有办法做到这一点支持从'1'到'10,000,000'?
vol*_*ron 18
select replace(fieldname,',','')::numeric ;
Run Code Online (Sandbox Code Playgroud)
要按照您最初尝试的方式进行,不建议:
select to_number( fieldname,
regexp_replace( replace(fieldname,',','G') , '[0-9]' ,'9','g')
);
Run Code Online (Sandbox Code Playgroud)
内部替换将逗号更改为G.外部替换将数字更改为9.这不是十进制数或负数.
| 归档时间: |
|
| 查看次数: |
13377 次 |
| 最近记录: |