У меня есть приложение, которое импортирует файл DAT в некоторые таблицы SQL Server.Проблемы с форматом даты SQL Server 2012
DAT-файл иногда содержит неправильные форматы даты.
Пример:
DateCreated = 000100893
DateCreated
столбца в SQL Server является datetime
типом.
Приложение не работает при импорте данных из-за неправильного формата, и мне приходится вручную обнулять эти значения, чтобы я мог повторно импортировать.
Есть ли способ в SQL иметь ограничения на столбец datetime? Например, если данные находятся не в правильном формате, автоматически обнулите столбец? Я не могу изменить тип данных datetime
для этого столбца, потому что большую часть времени даты верны, и я использую этот столбец для других вычислений.
Почему не разбирать дату? –
Это стандартный ETL, извлечение, трансформация и загрузка. Для извлечения импортируйте свой файл DAT в промежуточную таблицу, где все поля, получающие данные, являются varchar. Часть преобразования состоит в обновлении других столбцов из столбцов varchar. В этом случае вы будете обновлять dateCreated из dateCreatedVarchar, используя предложение where, чтобы отфильтровать такие значения, как 'fred' и 'barney'. Загрузочная часть предназначена для записи в основные таблицы из промежуточной таблицы. –