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

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

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

Пример. У меня есть таблица, называемая "сообщениями", которые имеют "intro" и "content". В том же самом заявлении я хотел бы выбрать в качестве результата "контент", если "intro" пуст, но не имеет обоих в массиве результатов.

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

4b9b3361

Ответ 1

Вы можете использовать IF:

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

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

Ответ 2

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

SELECT COALESCE(intro, content) AS column1
FROM table

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

Ответ 3

Есть два возможных пути. Когда это делается с аргументом case.

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

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

select coalesce(field1, field2)