Как хранить время более 24 часов на сервере SQL - PullRequest
0 голосов
/ 04 апреля 2020

У меня вопрос, какой тип данных в SQL Сервер подходит для времен более 24 часов? Time Тип данных, как сказал Microsoft, менее чем за 24 часа:

Range   00:00:00.0000000 through 23:59:59.9999999 
(00:00:00.000 through 23:59:59.999 for Informatica)

Так, например, если у меня есть таблица курса, а продолжительность какого-то курса превышает 24 часа, что мне делать?

1 Ответ

1 голос
/ 04 апреля 2020

Представьте продолжительность курса в секундах (или минутах), если вы предпочитаете. Если вы хотите затем представить значение в формате ЧЧ: ММ: СС, оно становится немного сложным, но вы можете объединить его вместе:

select concat(dur / (60 * 60), ':',
              format((dur / 60) % 60, '00'), ':',
              format(dur % 60, '00')
             )

Здесь - это db <> скрипка .

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

...