列等于零的SQLite SELECT语句
我是SQLite的新手。 我有一个基本的问题。。为什么我不能选择特定列等于零的行 不需要的列是type列等于零的SQLite SELECT语句,sqlite,Sqlite,我是SQLite的新手。 我有一个基本的问题。。为什么我不能选择特定列等于零的行 不需要的列是typeTINYINT(我在SQLite中看到的基本意思是INTEGER) 因此,数据库中只有一条记录(用于测试)。 当我尝试 SELECT is_unwanted FROM 'urls' 我得到一个“0”(0)的结果,这很好,因为该列包含实际的数字0 我试过=> SELECT * FROM 'urls' WHERE is_unwanted = 0 没有结果,但是 SELECT * FROM 'ur
TINYINT
(我在SQLite中看到的基本意思是INTEGER
)
因此,数据库中只有一条记录(用于测试)。
当我尝试
SELECT is_unwanted FROM 'urls'
我得到一个“0”(0)的结果,这很好,因为该列包含实际的数字0
我试过=>
SELECT * FROM 'urls' WHERE is_unwanted = 0
没有结果,但是
SELECT * FROM 'urls' WHERE is_unwanted <> 0
从“URL”中选择*0
给我一个结果
我做错了什么???试着跑步
select '{' || is_unwanted || '}' from urls
查看数据库中的值是否确实是包含空格的字符串
SQLite是一个动态类型的数据库;当您为列指定TINYINT
是一个提示(SQLite使用术语“affinity”)。你可以用
select is_unwanted, typeof(is_unwanted) from urls
查看值及其类型。您可以尝试:
SELECT * FROM urls WHERE coalesce(is_unwanted,'') = ''
只是为了好玩,试试
SELECT*FROM url WHERE is_unnered is NULL
,看看这是否会返回任何东西。@themanatuf刚刚尝试过,没有结果。。。但该列实际上包含数字0。在第一个SQL中,表名“URL”
周围有单引号,但在第二次/第三次查询中没有单引号。你试过添加这些吗?@bluefeet抱歉,这是问题中的一个输入错误。。这不是问题我知道这不能回答您的问题,但是将TINYINT
更改为BOOLEAN
是否会在您的应用程序中产生影响?这就是我得到的结果-{}然后字符串(blob)中有一个空的sting或NUL。我尝试了第二个语句,它给了我两列。。第一个包含数字“0”,第二个包含单词“numeric”Ok,因此该字段似乎有一个0x30值,在ASCII中为“0”。尝试查询0x30(小数点48)。尝试:SELECT*FROM-url,其中是不需要的=48