我有一个 CHAR 列,其中包含对打印整数的凌乱 OCR 扫描。
我需要在该列上执行 SUM() 运算符。但我无法正确投射。
;Good
sqlite> select CAST("123" as integer);
123
;No Good, should be '323999'
sqlite> select CAST("323,999" as integer);
323
我相信SQLite的解释逗号作为标志着“结束的值可能的最长前缀可以解释为一个整数”
我更愿意避免编写 python 脚本来对本专栏进行数据清理的痛苦。有没有什么聪明的方法可以严格地使用 SQL 来做到这一点?
如果您尝试忽略逗号,请在转换之前将其删除:
select cast(replace('323,999', ',', '') as integer)