重新排序行
我的数据库中的一行以随机顺序使用以下字符
HFMNLBX#&I
它的输入很奇怪,行就像 HF 和 FH,它们都相当于系统。有没有办法更新所有行按字母顺序排列,然后是最后的字符?
谢谢
重新排序行
我的数据库中的一行以随机顺序使用以下字符
HFMNLBX#&I
它的输入很奇怪,行就像 HF 和 FH,它们都相当于系统。有没有办法更新所有行按字母顺序排列,然后是最后的字符?
谢谢
这是一种按字母顺序排列列中字符的方法:
select concat((case when col like '%A%' then 'A' else '' end),
(case when col like '%B%' then 'B' else '' end),
. . .
(case when col like '%Z%' then 'Z' else '' end)
) as newcol
from t
请注意,这不处理重复的字母。
我不确定你所说的“最后的字符”是什么意思。例如,您可以使用子查询来处理其中的一个子集。
或者,如果您想保留 之后的所有内容#
,例如:
select concat((case when col like '%A%#%' then 'A' else '' end),
(case when col like '%B%#%' then 'B' else '' end),
. . .
(case when col like '%Z%#%' then 'Z' else '' end),
substring(col, locate('#', col) - 1)
) as newcol
from t