2017-10-26 8 views
0

誰かがこれに気づいたか?もしそうなら、これをどのように修正するのですか?時間欄を24時間から12時間に変換する際のソートが正しくない

私がこれを行う際にデータを時間順にソートすると、

SELECT TimeColumn FROM Table ORDER BY TimeColumn ASC

上記のコードは良いのですが、私はこれを行うとき。

SELECT date_format(TimeColumn, '%h:%i %p') AS TimeColumn FROM Table ORDER BY TimeColumn ASC

ソートが正しくありません。

これを修正するにはどうすればよいですか? TYSM

答えて

2

問題は、列と同じ名前の式の名前を変更することです。エイリアスはソートに使用され、ソートは正しく行われません。

だけで修飾された列名を使用しますので、

SELECT date_format(TimeColumn, '%h:%i %p') AS TimeColumn_hh12 
FROM Table t 
ORDER BY TimeColumn ASC; 
+0

あなたは意味が、私は、ソートし、別の名前の列名に固執するである:列に別の名前を付ける、

SELECT date_format(TimeColumn, '%h:%i %p') AS TimeColumn FROM Table t ORDER BY t.TimeColumn ASC; 

しますか、 ASが私の問題を解決するためのものです。 –

+0

とても素敵でとても簡単なTYSMの男性は5分受け入れます:D –

関連する問題