並び替え (SQL:12030)

Questions
初級の問題で並び替えがありました。改めて実行してみましょう。
Select * From M_tag Order By tagid
しかし、tagidの部分が少し気持ち悪いですよね。

 これはtagidが数字ではなく文字列としてデータベースに格納されているためです。

 こういう場合の対応ですが明示的に、並べ替えをする際に【型】を変換して、意図したとおりに出力させます。
その際に利用するのが cast です。
 castは関数です。このキャストは非常によく使います。SQLはそこまで関数は多くありませんので頻繁に使うものは覚えましょう。
 以下の通り、castにカラム名と並び変えたい型名を指定します。
cast(カラム名 as 型名)
カラム名はそのテーブルによって様々ですが、型名に来るのは数値か日付ぐらいです
Select * From M_tag Order By cast(tagid as int)
これですっきりできましたか?
Up:2021/08/29
Re:2021/09/09

Appendix
Click!
うまく並び替えができましたか?それでは今度は並び替えの向きを指定してみましょう。
 場合によって、大きいもの順・小さいもの順と、欲しい順番が変わる場合もあります。
並び替えの順は Order By に続けて以下のどちらかを指定します。
昇順降順
ascdesc
 ascがデフォルトです。基本的に手作業でつけることはあまりないと思います。しかし、プログラムで埋め込む場合などは明示的にascとdescを切り替えたくなる場合もあります。意外と使う機会は多いです。
Select * From M_tag Order By cast(tagid as int) desc
超初級
初級
中級
上級
特殊
演習
超初級
初級
中級
上級
特殊
演習
aaaa