問題:
MySQLで時間、分、秒の時間値として秒数を表示したい。
例:
私たちのデータベースには、athlete_score
id
列にデータがあります 、first_name
、last_name
、およびscore_seconds
。
id | first_name | last_name | score_seconds |
---|---|---|---|
1 | エミリー | ワトソン | 1124 |
2 | トム | ガルシア | 987 |
3 | ゲイリー | マルティネス | 1003 |
4 | ジェームズ | アンダーソン | 1233 |
アスリートごとに、seconds_record
から名前と名前と記録時間を取得しましょう。 桁。現在、秒数として保存されています。 HH:MM:SS形式で表示しましょう。
解決策:
SEC_TO_TIME()
を使用します 働き。作成するクエリは次のとおりです。
SELECT first_name, last_name, SEC_TO_TIME(score_seconds) AS score_time FROM athlete_score;
クエリの結果は次のとおりです。
first_name | last_name | score_time |
---|---|---|
エミリー | ワトソン | 00:18:44 |
トム | ガルシア | 00:16:27 |
ゲイリー | マルティネス | 00:16:43 |
ジェームズ | アンダーソン | 00:20:33 |
ディスカッション:
SEC_TO_TIME
を使用します ()MySQLで時間値として秒数を表示したい場合に機能します。この関数は、秒を整数として返す式、または秒数を整数として格納する列のいずれかの引数のみを取ります。 (この例では、列score_seconds
を使用します 。)
SEC_TO_TIME()
時刻をHH:MM:SS形式で返します。ここで、HHは00から59までの時間、MMは01から59までの分、SSは00から59までの秒です。この例では、 Emily Watson 秒単位のスコアは1124秒です。時間の値としては、18分44秒です。