указанный формат не указан в документации для допустимых форматов даты
Это означает, что он не поддерживается и не имеет документированного поведения. Есть много строк, которые при определенных региональных настройках будут конвертироваться из-за причуд в реализации синтаксического анализа.
Это путь кода, критичный к производительности, поэтому строковые форматы не подвергаются строгой проверке при преобразовании. Предполагается, что строки поддерживаются в поддерживаемом формате.
Поэтому вам может потребоваться загрузить столбец как varchar (n), а затем преобразовать его. Например,
declare @v varchar(200) = '25-FEB-93'
select convert(datetime,replace(@v,'-',' '),6)
Для формата docs 6 - dd mon YY
, но обратите внимание, что это преобразование "работает" без замены -
на
, но это примерповедение, которое вы наблюдали.