Подтвердить что ты не робот

Как выбрать непустые столбцы в MySQL?

Извините, если это было задано раньше, но я искал и не могу найти решение моей простой проблемы.

Мне нужно выбрать все строки, в которых столбец varchar имеет в нем текст (буквы, цифры или специальные символы), поэтому я написал следующий запрос:

SELECT col1
FROM table
WHERE col1 IS NOT NULL

Но это возвращает столбцы, которые содержат значение '' (т.е. пустое, но не установлено в NULL, так что оно все равно возвращается).

Я попытался изменить запрос на это:

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

Но это не сработало.

Как остановить строки, в которых пустой столбец не возвращается?

4b9b3361

Ответ 1

use TRIM в вашем столбце, по-видимому, есть пробелы, а затем

SELECT col1
FROM table
WHERE col1 IS NOT NULL
AND TRIM(col1) <> ''

Ответ 2

Вы можете использовать этот запрос, если столбец пуст, но не установлен в NULL

SELECT col1 FROM table where col1 not like ''; # Две одинарные кавычки без пробела

ИЛИ

Этот столбец if имеет одно или несколько пробелов,

SELECT col1 FROM table where col1 not like '% %';

Ответ 3

используйте LENGTH:

SELECT col1
FROM table
WHERE LENGTH(col1) > 0