2012-03-24 58 views
2

我正在使用MySQL和我目前有一個VARCHAR列存儲時間(分鐘和秒)像「30:47」和「 00:25「(25秒)。我怎樣才能做到這一點,以便我可以在此列上執行像SUM()和AVG()這樣的操作並獲得結果。MySQL如何做像30:47(30分47秒)時間的操作

因此,如果我在「00:35」和「00:45」上做了AVG(),我會得到「00:40」。我必須首先將它們轉換爲十進制格式,然後執行操作並將其轉換回來?或者是否有支持這些操作的列類型?

+4

非常,非常不愉快的是如何。只需使用TIME列。 – Corbin 2012-03-24 02:14:06

+2

您確實應該將此列存儲爲'TIME'類型而不是'VARCHAR'。 – 2012-03-24 02:14:50

+0

我不能爲這一個投票x10000,但如果我可以做到這一點... – haltabush 2012-03-24 02:15:25

回答

5

只需使用TIME列。它將直觀地支持大多數操作。

+0

謝謝,我會試試看。 – Ray 2012-03-24 02:46:29

+0

@Ray我可能應該在我的回答中提到,儘管你需要注意返回類型。例如,AVG調用可能會返回一個整數而不是TIME類型。 – Corbin 2012-03-24 02:48:27