0

私はSQLiteの初心者です。かなり基本的な質問があります.特定の列がゼロに等しい行を選択できないのはなぜですか?

is_unwanted 列は type ですTINYINT(SQLite では基本的に を意味しますINTEGER)

したがって、データベースには (テスト用に) レコードが 1 つしかありません。やってみると

SELECT is_unwanted FROM 'urls'

その列には実際の数値0が含まれているため、これは問題ありません。

やってみた=>

SELECT * FROM 'urls' WHERE is_unwanted = 0

結果は得られませんでしたが、

SELECT * FROM 'urls' WHERE is_unwanted <> 0

私に結果を与えます。

私は何を間違っていますか??

4

2 に答える 2

2

実行してみてください

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

データベースの値が本当にスペースを含む文字列であるかどうかを確認します。

SQLite は動的に型指定されたデータベースです。TINYINTisを指定すると、列のヒントになります (SQLite では「アフィニティ」という用語を使用します)。使用できます

 select is_unwanted, typeof(is_unwanted) from urls

値とその型を確認します。

于 2012-08-06T19:16:45.453 に答える
0

あなたは試すことができます:

SELECT * FROM urls WHERE coalesce(is_unwanted,'') = ''
于 2018-05-15T04:37:07.577 に答える