Сортировка значения массива mysql после замены строковых символов из полученных данных БД - PullRequest
0 голосов
/ 17 мая 2010

Я хочу отсортировать один столбец, извлеченный из базы данных mysql и сохраненный в массиве. После получения я делаю следующие шаги.

  1. DB Выборка массива полей в формате строки. -> Поле1, Поле2, Поле3, Поле4, Поле5
  2. Из этого массива полей Один столбец данных [Field3], меняя строковые ключевые слова. например.
    AB013, DB131, RS001
    должно стать:
    013AB, 131DB, 001RS

Теперь я хочу отсортировать вышеуказанное значение в новом формате строки как-> 001RS, 013AB, 131DB

Это не так, исправьте номер для замены строки. Чтобы снова разделить и объединить строку, существует динамическое значение, которое позволяет извлекать строку данных, чтобы разделить эту строку из заданной позиции символа, а затем снова отсортировать ее с новым именем.

Ответы [ 2 ]

0 голосов
/ 17 мая 2010

Почему бы вам не позволить БД выполнить работу (для данных с фиксированным положением в вашем примере):

select Field1
     , Field2
     , concat(  substr(Field3,3,3) 
               ,substr(Field3,1,2)
             ) as SwapedField3
     , Field4
     , Field5
from Table
order by SwapedField3

Однако это не учитывает «динамическое значение» для позиции разделения ...

  • Откуда это значение?
  • Можно ли это как-то вывести из данных?
0 голосов
/ 17 мая 2010
select * from (
  select 
    Field1,
    Field2,
    CASE Field3
      WHEN 'AB013' THEN '013AB'
      WHEN 'DB131' THEN '131DB'
      WHEN 'RS001' THEN '001RS'
    END CASE AS NewField3,
    Field4,
    Field5 
  from Table1 
)
order by NewField3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...