重新排序行更新數據庫字段值
在我的數據庫是一排隨機順序具有下列特徵
HFMNLBX#&我
這是輸入古怪,並且各行如HF和FH,它們都等同於系統。有沒有辦法更新所有行按字母順序排列,然後結束字符?
感謝
重新排序行更新數據庫字段值
在我的數據庫是一排隨機順序具有下列特徵
HFMNLBX#&我
這是輸入古怪,並且各行如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
旁註:這將刪除任何非字母字符,如「#」 「或者」!「,我想這個問題的起始者最後想要他們(但很難理解) – 2013-04-29 23:18:06
@nicogawenda。 。 。第一個查詢將會。第二個將所有內容保存在'#'之後。 – 2013-04-29 23:20:46
嗯好吧,確定非alpha字符被#前綴,然後冷卻解決方案:) – 2013-04-29 23:24:56
也許這一個幫助http://stackoverflow.com/questions/3427208/sorting-string-characters-in-mysql – 2013-04-29 20:29:56
你當前的MySQL查詢是什麼? – Jocelyn 2013-04-29 20:31:07
我還沒有查詢。我想將行設置爲字母順序,例如HML將變爲HLM,XB將變爲BX等等 – 2013-04-29 20:33:05