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

Как concat_ws несколько полей и удалять дублирующие разделители для пустых слотов

Когда вы CONCAT_WS(' ',field1,field2,field3) в MySQL и если одно из полей пуст, а не null, вы получаете несколько разделителей.

Примером может быть:

John[space][space][space]Doe[space]III.

Как я могу убедиться, что есть только один разделитель.

4b9b3361

Ответ 1

Сделайте это так:

CONCAT_WS(' ', NULLIF(field1, ''), NULLIF(field2, ''), NULLIF(field3, ''));

CONCAT_WS будет пропускать любые нулевые значения и с помощью NULLIF любых пустых тоже.

Примечание. Вы не можете заменить регулярное выражение. MySQL не поддерживает его.