2010年8月5日木曜日

datetime型のsortで10時前の時間がうまくソートされず、悩みました。

MySQLでdatetime型のソートをするとき、
9:00
11:30
17:00
と並べたいのに、

11:30
17:00
9:00
と並んでしまい、困っていました。

原因は、
order byで
date_format(start_time,'%k:%i') as start_time
といったように、フィールド名と同名で、24時間表記の10時前の時間から最初の0(ゼロ)を抜いていたことで、
order by start_time
としていたことが原因でした。

09:00が
9:00
となっていたことで、1より9が後、と判断していたのですね。

初歩的なミスでした。

0 件のコメント:

コメントを投稿