检查TEXT列的内容是否纯数字

时间:2016-07-08 13:49:03

标签: sql sqlite

我有一个Sqlite DB,其中数据看起来纯粹是数字(整数),而列是键入的TEXT。如果可能,我想将其输入为INTEGER。

哪个查询可以检查某列的每个单元格是否都可以成功转换为INT?

SELECT * FROM table WHERE INT(column) != NULL

或者我想检查单元格是否为数字(没有任何字母/符号)

SELECT * FROM table WHERE column NOT LIKE "%a-z%"

作为旁注,我想这样做是为了减小数据库的大小,但是由于Sqlite使用动态类型(每个单元格类型)会对数据库的大小产生任何影响吗?

1 个答案:

答案 0 :(得分:2)

您必须检查是否所有值都可以转换为整数:

SELECT *
FROM MyTable
WHERE CAST(MyColumn AS INTEGER) IS NOT MyColumn;