Мне нужно создать столбец, который будет хранить часы больше 24. Например, '25:00:00'
, '129:23:12'
и т. Д.).Расчет более чем на 24 часа в SQL Server 2005
Эта колонка будет использоваться для выполнения расчетов между datetime
интервалами: «время».
Я пытался
SELECT CAST((CAST(CAST(RIGHT('107:37', 6) as datetime) AS FLOAT))/(207.160) AS DATETIME)
если он
ниже '23:59'
вместо '107:37'
работает нормально.
'107:37'
ошибка отдавания:
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
Это глупо. Если вы хотите рассчитать интервалы времени или даты, то почему бы просто не использовать тип даты и времени, а также функции времени и даты? – paulsm4
Не будет ли проще хранить только количество секунд? Преобразование в часы и минуты - простая арифметика. – Joni
Нет, было бы проще сохранить номер в качестве даты и времени и использовать такие функции, как lateiff(). Например: http://stackoverflow.com/questions/1770594/how-to-calculate-difference-in-hours-decimal-between-two-dates-in-sql-server – paulsm4