我有一个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会将逗号解释为标记“the longest possible prefix of the value that can be interpreted as an integer number”的结尾
我更喜欢避免编写python脚本来对此列进行数据清理的痛苦.是否有任何聪明的方法严格使用SQL?
最佳答案 如果您尝试忽略逗号,请在转换前删除它们:
select cast(replace('323,999', ',', '') as integer)