SQLite SELECT语句,其中列等于零

时间:2012-08-06 19:05:17

标签: sqlite

我是SQLite的新手。 我有一个可靠的基本问题..为什么我不能选择特定列等于零的行?

is_unwanted列的类型为TINYINT(我在SQLite中看到的基本上是INTEGER

所以,我在数据库中只有一条记录(用于测试)。 当我尝试

SELECT is_unwanted FROM 'urls'

我得到“ 0 ”()的结果,这很好,因为该列包含实际数字 0

我试过=>

SELECT * FROM 'urls' WHERE is_unwanted = 0

没有结果,但是

SELECT * FROM 'urls' WHERE is_unwanted <> 0

给我结果。

我做错了什么?

2 个答案:

答案 0 :(得分:2)

尝试运行

select '{' || is_unwanted || '}' from urls

查看数据库中的值是否真的是包含空格的字符串。

SQLite是一个动态类型的数据库;当您指定TINYINT时,该列是一个提示(SQLite使用术语“affinity”)。你可以使用

 select is_unwanted, typeof(is_unwanted) from urls

查看其类型的值。

答案 1 :(得分:0)

你可以尝试:

SELECT * FROM urls WHERE coalesce(is_unwanted,'') = ''