У меня есть таблица, в которой хранится количество секунд как целое число. Я хочу отобразить его и использовать как время или дату.
Если я напишу это:
Select Cast(ColAmountofSeconds as Time) as ThisTime From MyTable;
то же самое с:
Select Cast(ColAmountofSeconds as Date) as ThisTime From MyTable;
Я получаю следующую ошибку:
Произошло переполнение во время преобразования типа данных. ошибка преобразования из строки "14".
Примечание. «14» — это значение первой строки в столбце ColAmountofSeconds.
Это настолько естественно для SQL Server, что я не могу поверить, сколько времени я потратил на выяснение этого.
ИЗМЕНИТЬ
Я не могу поверить, что это ответ:
Update MyTable
Set TIMESPENT = time '00:00:00' + ColAmountOfSeconds;
time '00:00:00
— это сокращенное приведение, эквивалентноеCAST('00:00:00' AS TIME)
. - person Mark Rotteveel   schedule 28.01.2013