2016-04-04 7 views
-2

私は "Order by" -TSQL問題の解決策を探しています。 私は次の規則で注文したい列の "タグ" を定義:
1.最短
2.数字
3.大文字
4.小文字
5.特殊文字SQL - 最後に - 特殊文字で最後に

例えば:
1. ACV
2.住所
3.アドレス
4.管理
5.管理者
6 AlertTypeオブジェクト
7 alertType1
8 alertType106
9.分析
10 analyse2
11 driving_time
12 driving_time2
13 Z_1111

15 __Login__ __10__

単に「注文するタグ」の場合、出力は
です。1. __10__
2. __Login__
3 ACV
4.管理
5.管理者
6住所
7.アドレス
8 AlertTypeオブジェクト
9 alertType1
10 alertType106
を分析 12. analyse2
13. driving_time
14. driving_time2
15. Z_1111

このような質問があります。 Sort MySQL results alphabetically, but with numbers last

出力をフィルタリングするためにRegExを使用できますか? また、2つの出力を持ち、それらをマージすることができます。 これをどうすればできますか?これら2つの方法のほうが優れていますか?

答えて

0

あなたは次のコードを適用しようとすることができます応答のための

ORDER BY CASE WHEN ASCII(CAST(LEFT(tag,1) AS CHAR(1)) BETWEEN 65 AND 90 
    OR ASCII(CAST(LEFT(tag,1) AS CHAR(1)) BETWEEN 67 AND 122 THEN 0 ELSE 1 END, tag 
+0

おかげでそれはまだ間違った順序です。 – Moarc

関連する問題