我有一个Sqlite DB,其中数据看起来纯粹是数字(整数),而列是键入的TEXT。如果可能,我想将其输入为INTEGER。
哪个查询可以检查某列的每个单元格是否都可以成功转换为INT?
SELECT * FROM table WHERE INT(column) != NULL
或者我想检查单元格是否为数字(没有任何字母/符号)
SELECT * FROM table WHERE column NOT LIKE "%a-z%"
作为旁注,我想这样做是为了减小数据库的大小,但是由于Sqlite使用动态类型(每个单元格类型)会对数据库的大小产生任何影响吗?
答案 0 :(得分:2)
您必须检查是否所有值都可以转换为整数:
SELECT *
FROM MyTable
WHERE CAST(MyColumn AS INTEGER) IS NOT MyColumn;