Ответ 1
Вы можете использовать IF:
SELECT IF(LENGTH(intro)>0, intro, content)
FROM posts
Или вы можете проверить для NULL
, если вы имеете в виду, что пустым является NULL
Интересно, можно ли запустить команду mysql, которая может выбрать альтернативное поле, если первое заданное поле пустое, в той же таблице.
Пример. У меня есть таблица, называемая "сообщениями", которые имеют "intro" и "content". В том же самом заявлении я хотел бы выбрать в качестве результата "контент", если "intro" пуст, но не имеет обоих в массиве результатов.
Заранее спасибо
Вы можете использовать IF:
SELECT IF(LENGTH(intro)>0, intro, content)
FROM posts
Или вы можете проверить для NULL
, если вы имеете в виду, что пустым является NULL
Coalesce - это то, что вы ищете.
SELECT COALESCE(intro, content) AS column1
FROM table
Предполагая, что intro имеет значение null, а не строку с нулевой длиной.
Есть два возможных пути. Когда это делается с аргументом case.
Select case when field1 <> '' then field2 else field1 end
или вы можете использовать coalesce.
select coalesce(field1, field2)