MySQL: Выбор альтернативного поля, если данный поле пусто

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

Пример: у Меня есть таблица, названная "сообщениями", которые имеют "введение" и "содержание". В том же операторе я хотел бы выбрать в результате "содержание", если "введение" пусто, но не имеющий обоих в массиве результата.

Заранее спасибо

14
задан Kyobul 20 March 2010 в 20:39
поделиться

3 ответа

Вы можете использовать функцию IF :

SELECT IF(LENGTH(intro)>0, intro, content) 
FROM posts

Или вы можете проверить NULL , если вы имеете в виду, что пустое значение равно NULL

18
ответ дан 1 December 2019 в 07:39
поделиться

Coalesce - это то, что вы ищете.

SELECT COALESCE(intro, content) AS column1
FROM table

Предполагается, что intro - это null, а не строка нулевой длины.

15
ответ дан 1 December 2019 в 07:39
поделиться

Есть два возможных способа. Один способ - с помощью оператора case.

Select case when field1 <> '' then field2 else field1 end

или вы можете использовать coalesce.

select coalesce(field1, field2)
2
ответ дан 1 December 2019 в 07:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: