我有一个Sqlite DB,其中的数据看起来纯粹是数字(整数),并且列的类型为TEXT。如果可能,我想将其键入为INTEGER。
哪个查询可以检查某个列的每个单元格是否可以成功转换为INT?
SELECT * FROM table WHERE INT(column) != NULL
或者,我想检查单元格是否为数字(没有任何字母/符号)
SELECT * FROM table WHERE column NOT LIKE "%a-z%"
附带说明一下,我想这样做是为了减少数据库的大小,但是由于Sqlite使用动态类型化(每个单元类型),这会对数据库的大小产生任何影响吗?
最佳答案
您必须检查是否所有值都可以转换为整数:
SELECT *
FROM MyTable
WHERE CAST(MyColumn AS INTEGER) IS NOT MyColumn;
关于sql - 检查TEXT列的内容是否为纯数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38268342/