13

これが以前に尋ねられた場合は申し訳ありませんが、私は検索していて、私の単純な問題の解決策を見つけることができません。

varchar列にテキスト(文字、数字、または特殊文字)が含まれているすべての行を選択する必要があるため、次のようなクエリを作成しました。

SELECT col1
FROM table
WHERE col1 IS NOT NULL

ただし、これは値''を含む列を返します(つまり、空白ですが、NULLに設定されていないため、引き続き返されます)。

クエリを次のように変更してみました。

SELECT col1
FROM table
WHERE col1 IS NOT NULL
AND col1 != ''

しかし、それはうまくいきませんでした。

列が空白の行が返されないようにするにはどうすればよいですか?

4

3 に答える 3

26

使用TRIMすると、列にスペースがあるようです。

SELECT col1
FROM table
WHERE col1 IS NOT NULL
AND TRIM(col1) <> ''
于 2013-01-29T04:50:27.530 に答える
1

列が空白であるがNULLに設定されていない場合は、このクエリを使用できます

SELECT col1 FROM table where col1 not like '';#スペースなしの2つの一重引用符

また

これは、列に1つ以上のスペースがある場合、

SELECT col1 FROM table where col1 not like '% %';
于 2013-01-29T07:23:02.777 に答える
1

使用LENGTH

SELECT col1
FROM table
WHERE LENGTH(col1) > 0
于 2018-02-17T13:20:43.027 に答える