Mysql
 sql >> база данни >  >> RDS >> Mysql

Броене на часове с помощта на MySQL

Мислех, че ще ви публикувам отговора от гледна точка на обобщаване на проблемите, свързани с времевата стойност, с които разработчиците са се сблъсквали потребителите досега. Не става въпрос само за форматиране.

Може да сте забелязали или да не сте забелязали, че има вероятност сумата от общото ви време да бъде погрешно изчислена от двигателя. Допълнителна машина на mysql може да върне нула, въпреки че имате стойности.

Когато добавяте/обединявате времеви стойности, те се преобразуват като число и резултатите ще бъдат в числов формат. Ако се опитате да добавите времеви стойности като следното:

напр. 01:38:50, 03:40:25 --> в идеалния случай трябва да доведе до 05:19:15

  • Ако направите Sum (горните две) --> получавате число
  • Ако използвате CAST(Sum(горните две) AS TIME) --> получавате нула
  • Има две други възможности, показани в моя кодов фрагмент.

Примерен справочен код . Ще ви покаже различните резултати, които току-що обсъдихме. Засега изглежда, че трипосочното форматиране може да помогне.

time_format(sec_to_time(sum(time_to_sec(logged_duration))),'%h:%i:%s') total_log_duration

Грешката, докладвана на MySQL, все още не е отстранена.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използвайте множество колони като уникален идентификатор за mysql

  2. mysql вмъкване, ако стойността не съществува в друга таблица

  3. Неправилна стойност на DateTime '0000-00-00 00:00:00' - Date_Sub() в

  4. Вмъкнете данни в квадратчето за отметка в mysql

  5. Параметри на MySQL заявка в табло за управление на Pentaho CE