Преобразование NVARCHAR в DateTime с несогласованными данными (SQL Server 2014 Express)

Есть сценарий, где мне нужно преобразовать NVARCHAR столбец, содержащий время в hh:mm:ss отформатировать в DateTime колонка для лучшей фильтрации.

Одна из дилемм заключается в том, что у меня на самом деле нет даты, и, насколько я знаю, в SQL нет Time тип данных, но я могу преобразовать все в "1900-01-01" и добавить часть времени - я в порядке, я просто буду использовать "1900-00-00" во время моего сравнения.

Большая проблема заключается в том, что данные времени, которые я конвертирую, имеют значения часов, идущие до 27 часов (по их словам, в сутки более 24 часов). Значит, есть значения: 24:17, 26:25 и т. Д.

Чтобы преобразовать в datetime Я должен был бы сделать небольшую чистку /string.replace первый то есть: 24:17 -> 00:17; 02:25 и т. Д.

Но прежде чем я углублюсь в это, есть еще какой-нибудь более элегантный способ решения этой проблемы в SQL?

Использование SQL Server 2014 Express .

0 ответов

Другие вопросы по тегам