Как вставить пробел после каждого числа в строке MariaDB

#mariadb #mariadb-10.1

#mariadb #mariadb-10.1

Вопрос:

У меня есть строка, и мне нужно вставить пробел после каждого числа.

например Ctn/10Btl/100ml , для его преобразования Ctn/10 Btl/100 ml .

Можете ли вы помочь мне, как выполнить запрос, чтобы вставить пробел после числа?

Любая помощь приветствуется.

Спасибо

Комментарии:

1. Это не пробел после каждого символа. Это сразу после каждого числа.

2. Какая версия MySQL? С 8.x вы можете использовать REGEXP_REPLACE()

3. @Barmar, спасибо, моя версия MySQL 10.x.

4. Это версия MariaDB.

5. Пожалуйста, укажите конкретную версию MariaDB. Некоторые функции версии 10.2 и выше недоступны в версии 10.1 или ниже.

Ответ №1:

Вы могли бы использовать REGEXP_REPLACE с группой захвата:

 SELECT REGEXP_REPLACE('Ctn/10Btl/100ml', '(\d )(\D)', '\1 \2')
FROM yourTable;
 

Вывод: Ctn/10 Btl/100 ml


ДЕМОНСТРАЦИЯ

Комментарии:

1. @Zaw Я полагаю, что ваш первоначальный вопрос был помечен MySQL. MariaDB — это не то же самое, что MySQL. Проверьте мой слегка обновленный ответ выше.

2. Да, я понимаю. Спасибо.