Ответ 1
use TRIM
в вашем столбце, по-видимому, есть пробелы, а затем
SELECT col1
FROM table
WHERE col1 IS NOT NULL
AND TRIM(col1) <> ''
Извините, если это было задано раньше, но я искал и не могу найти решение моей простой проблемы.
Мне нужно выбрать все строки, в которых столбец varchar имеет в нем текст (буквы, цифры или специальные символы), поэтому я написал следующий запрос:
SELECT col1
FROM table
WHERE col1 IS NOT NULL
Но это возвращает столбцы, которые содержат значение '' (т.е. пустое, но не установлено в NULL, так что оно все равно возвращается).
Я попытался изменить запрос на это:
SELECT col1
FROM table
WHERE col1 IS NOT NULL
AND col1 != ''
Но это не сработало.
Как остановить строки, в которых пустой столбец не возвращается?
use TRIM
в вашем столбце, по-видимому, есть пробелы, а затем
SELECT col1
FROM table
WHERE col1 IS NOT NULL
AND TRIM(col1) <> ''
Вы можете использовать этот запрос, если столбец пуст, но не установлен в NULL
SELECT col1 FROM table where col1 not like '';
# Две одинарные кавычки без пробела
ИЛИ
Этот столбец if имеет одно или несколько пробелов,
SELECT col1 FROM table where col1 not like '% %';
используйте LENGTH
:
SELECT col1
FROM table
WHERE LENGTH(col1) > 0