Как хранить доли секунды в MySQL - PullRequest
1 голос
/ 13 октября 2009

Я хотел бы хранить данные времени с точностью до секунды. В руководстве по MySQL указано, что все сохраненные значения будут округлены.

Я вижу два достойных варианта. Время выше десятичного разряда может быть сохранено как ВРЕМЯ, а ниже десятичного разряда может быть сохранено как TINYINT. Другой вариант может состоять в том, чтобы сдвинуть все значения вверх так, чтобы HH: MM: SS: cc стал DD: HH: MM: SS. Есть еще мысли или критика?

Спасибо за идеи.

-Storm

Ответы [ 2 ]

1 голос
/ 13 октября 2009

Я бы сказал, что вы должны указать здесь два столбца: один со значением DATETIME, а другой с числом в процентах.

«Сдвиг» значений времени, скорее всего, принесет больше вреда, чем пользы, не говоря уже о проблемах с пониманием того, почему на земле кто-то хотел бы хранить часы в «дневной» части времени. Кроме того, вы не можете хранить значение в течение более чем 59 секунд.

0 голосов
/ 13 октября 2009

Как насчет преобразования времени в метку времени Unix (количество миллисекунд с начала эпохи) и последующего ее сохранения (как int64). Затем вы можете обрабатывать математику на входе и выходе из БД. Это даст вам гибкость TIME + TINYINT, но займет только один столбец.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...