2

複数の列を持つデータベースがありますが、列 A と列 B の 2 つの列を取得することにのみ興味があります。列には次の条件があります。

私はこのフォーラムをよく検索し、最も簡単に試したものを以下に示します。

SELECT col-A,col-B FROM ports WHERE col-B IS NOT NULL; 

このクエリを実行すると、次の行を含む両方の列がダンプされます: (注意してください-ここで「ポート」はテーブルです)

col-A = ANY VALUE + col-B = NULL(blank/empty field)
col-A = ANY VALUE + col-B = NON NULL

私も試しました。最も一般的な構文:

SELECT * FROM ports WHERE col-B IS NOT NULL; <<<< it dumps both empty & non-empty rows

MySQL のバージョンは 5.5.32 です。

4

2 に答える 2

2

両方の条件を確認してください: 空白とnull

SELECT col-A,col-B 
FROM ports 
WHERE col-B IS NOT NULL and col-B <> ''

無地ではありませんnullnull値がないことを意味し、空の空の文字列は''

于 2013-10-11T05:58:18.837 に答える
0

@uergen dの答えはうまくいきます。ただし、他の方法を試してみたい場合は、これを確認してください

SELECT col-A,col-B 
FROM ports 
WHERE LENGTH(col-B) > 0
于 2013-10-11T07:03:48.333 に答える