2015-04-08 7 views
-2

Есть ли в любом случае MySQL, я могу установить столбец для переноса, когда он достигнет 60? На данный момент я говорю 7.45 часов, и я хочу добавить 20 минут, чтобы получить 7.75. Столбец установлен в decimal. Я попытался установить его на time, но он добавил секунды, которые мне не нужны.добавление один раз к другому mysql

+0

Возможно, вам не нужны секунды, но это проблема, что они есть? – GolezTrol

+0

Спасибо, мне, возможно, придется идти именно так. – user2042410

ответ

1

Хороший вариант - использовать тип данных Time, а затем просто отбросить секунды, если вам это не нужно. Это поможет вам в будущем, когда вам понадобятся какие-либо вычисления в этом поле.

Вы можете использовать ADDTIME по вашему запросу, чтобы добавить время в свой колонтитул времени, как показано ниже.

SELECT ADDTIME(YourColumn,'0:20') FROM YourTable; 

вы также можете использовать TIME_FORMAT, чтобы получить желаемый результат (например, отбрасывать секунд)

SELECT TIME_FORMAT(YourColumn,'%H:%i') FROM TableName; 
0

Я настоятельно советую вам не использовать decimal за то, что вы пытаетесь сделать, но с использованием time вместо ,

Используя time, вы можете использовать многие функции даты и времени, такие как добавление минут.

Существует множество вариантов решения проблемы.

  1. Использование AddTime функции():

    update tablename 
    set timecolumn = addtime(timecolumn, '00:20:00'); 
    
  2. Использование интервала:

    update tablename 
    set timecolumn = timecolumn + interval 20 minute; 
    
  3. Используя комбинацию DATE_ADD() и интервал:

    update tablename 
    set timecolumn = date_add(timecolumn, interval 20 minute); 
    

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

+0

Спасибо Dan. Я изменил все, чтобы использовать тип данных времени – user2042410

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