3

曲の長さを分/秒で保存する必要があり、TIME を使用する必要がありますが、INSERT ステートメントを作成しているときに、特定の長さをどのように参照すればよいでしょうか? テーブルのデータ型はすでに TIME になっています。文字列値 "4:29" を STR_TO_DATE にする必要がありますか?

4

1 に答える 1

6

まず、こちらをご覧ください: http://dev.mysql.com/doc/refman/5.0/en/time.html

短縮された値を TIME 列に割り当てる場合は注意してください。MySQL は、コロンで省略された TIME 値を時刻として解釈します。つまり、「11:12」は「00:11:12」ではなく「11:12:00」を意味します。MySQL は、右端の 2 桁が秒を表す (つまり、時刻ではなく経過時間) という仮定を使用して、コロンのない省略値を解釈します。たとえば、'1112' と 1112 は '11:12:00' (11 時から 12 分) を意味すると考えるかもしれませんが、MySQL はそれらを '00:11:12' (11 分 12 秒) と解釈します。 . 同様に、'12' と 12 は '00:00:12' と解釈されます。

したがって、デュレーション = 05:55 の曲を挿入したい場合は、次のように記述します。

insert into songs (duration) values('0555');
于 2012-04-09T01:31:09.283 に答える