2012-03-24 2 views
2

Я использую MySQL, и теперь у меня есть столбец VARCHAR, в котором хранятся времена (в минутах и ​​секундах), такие как «30:47» и «30:47», 00:25 "(25 секунд). Как я могу сделать это так, чтобы в этом столбце я мог выполнять операции типа SUM() и AVG() и вернуть результат.MySQL Как выполнять операции во времени, например 30:47 (30 минут и 47 секунд)

Так что если бы я сделал AVG() на «00:35» и «00:45», я бы получил «00:40». Должен ли я сначала преобразовать их в десятичный формат, затем выполнить операцию и затем преобразовать ее обратно? Или существует тип столбца, который будет поддерживать эти операции?

+4

Очень, очень неприятно, как. Просто используйте столбец TIME. – Corbin

+2

Вы действительно должны хранить этот столбец как 'TIME', а не' VARCHAR'. –

+0

Я не могу проголосовать за x10000 за этот, но если бы я мог это сделать ... – haltabush

ответ

5

Просто используйте столбец TIME. Он будет поддерживать большинство операций интуитивно.

+0

Спасибо, я попробую это. – Ray

+0

@ Ray Я, вероятно, должен был упомянуть в своем ответе, что вам нужно быть осторожным в отношении типов возврата. Например, вызов AVG может возвращать целое число вместо типа TIME. – Corbin

Смежные вопросы