从获取的数据库数据交换字符串字符后对mysql数组值进行排序
我想对从mysql数据库中获取并存储在数组中的一列进行排序。获取后,我将执行以下步骤从获取的数据库数据交换字符串字符后对mysql数组值进行排序,mysql,string,sorting,arrays,Mysql,String,Sorting,Arrays,我想对从mysql数据库中获取并存储在数组中的一列进行排序。获取后,我将执行以下步骤 行格式的DB获取字段数组。 ->场1,场2,场3,场4,场5 从该字段数组中,一列数据[Field3],交换字符串关键字。 例如 AB013、DB131、RS001 应成为: 013AB、131DB、001RS 现在我想用新的字符串格式对上面的值进行排序 比如->001RS,013AB,131DB 不是这样的,请确定交换字符串的编号。要再次拆分和连接字符串,有一个动态值,允许fetch data string从
AB013、DB131、RS001
应成为:
013AB、131DB、001RS
不是这样的,请确定交换字符串的编号。要再次拆分和连接字符串,有一个动态值,允许fetch data string从给定的字符位置拆分该字符串,然后使用新名称对其再次排序。为什么不让DB来完成这项工作(对于示例中的固定位置数据):
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
但是,这并没有考虑拆分位置的“动态值”
- 这种价值从何而来李>
- 能从数据中推断出来吗
substr(Field3,LineCode,length(Field3)-LineCode)
select Field1
, Field2
, concat( substr(Field3,3,3)
,substr(Field3,1,2)
) as SwapedField3
, Field4
, Field5
from Table
order by SwapedField3