#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)