у меня есть фраза, которая содержит разные части, мне нужно разделить их с помощью SQL, во фразе три нет делителя

#mysql #sql

#mysql #sql

Вопрос:

          Text      |
--------------------
ABC01BNMp02UIO09zxz01
  

есть столбец с надписью «текст», который содержит значения типа ABC01BNMp02UIO09zxz01. Мне нужно разобрать это что-то вроде этого ABC01 BNMp02 UIO09 zxz01 отдельно. Я использовал «split_part», но не сработало.
буду признателен за любую помощь.
Split_part(текст,»,4)

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

1. Какую базу данных вы на самом деле используете? Не используйте несовместимые теги базы данных.

2. я использую mysql

3. что-то вроде , не могли бы вы быть точными, пожалуйста. что-то вроде может быть чем угодно

4. Почему вы храните части в виде одной строки в базе данных, когда вас на самом деле интересуют отдельные части? Сделайте эти отдельные столбцы, и у вас больше не будет этой проблемы.

5. Это неправильный реляционный дизайн. Нет простого способа разделить одну строку на динамическое количество частей. Вам следует нормализовать дизайн и поместить каждый код в отдельную строку.

Ответ №1:

Рассмотрим следующее (в PHP):

 <?php
$str = 'ABC01BNMp02UIO09zxz01';
$arr = preg_split('/(?<=[0-9])(?=[a-z] )/i',$str);
print_r($arr);
?>
  

Выводит:

Array ( [0] => ABC01 [1] => BNMp02 [2] => UIO09 [3] => zxz01)