2016-12-20 21 views
0

私は列がid、name、region、picであるテーブルの宛先を持っています。列の空白フィールドが表示されません

select * from destination where pic= '' 

または

select * from destination where pic is null 

それはどんな結果が問題を.whatsなかった、私は私がクエリを適用したとき、私は意味、PIC列が値を持たないが、それは空で表示していない一部の行を持っています誰か何か考えがある???

+0

ピクチャ列のデータ型は何ですか。 –

+1

「値なし」のように見えるのは、NULLでも空の文字列でもありません。 –

+0

私はこの質問とは無関係の 'jquery'タグを削除しました。 – Sankar

答えて

0

ほとんどの白文字です。それは白い文字である場合、あなたはこの試みることができる

0

を確認するためにhex(pic)を使用する:あなたは何も表示されないわけがない値で

select * 
from destination 
where ltrim(rtrim(pic)) = '' 
+0

(1)これはSPACE(HEX = 20)(2)にのみ有効です。この場合、ltrimとrtrimの両方を使用する点はありません。 –

0

select * from destination where pic like ' ' OR

select * from destination where pic=char(32)

+0

は空白ではなく、ヌル、ちょうどスペース – purva

+0

複数のスペースがあっても、2番目のクエリは間違いなく動作します – purva

+0

私の悪いです。あなたが正しいです。 –

0

を、それらがNULLでなく、 ''でなければ、それらはいくつかの値を持つ必要があります。白いスペースが最もありそうです。これは、フィールド名の中の文字列の長さを示す1列の表が表示されます

​​

:フィールドを想定し

は、あなたができるテキストフィールドです。また、この長さに従って結果をソートするので、空文字列のレコードがある場合は0を示します。値が0の結果が表示されない場合は、空白を含む必要があります。

この場合、このような値を比較することができます。

SELECT * FROm tableName WHERE TRIM(fieldName) = '' OR fieldName Is NULL 
+0

OPは既に 'Is NULL'が行を返さないと述べています。 –

+0

私は知っています。 DBが生存している場合は、新しいデータが入ってくる可能性があり、常に同じように動作するとは限りません。そのSQLはすべての場合に有効です。 –

関連する問題