Как SQL Server определяет формат для неявного преобразования даты и времени?

declare @str_datetime varchar(50)
set @str_datetime='30-04-2012 19:01:45' -- 30th April 2012
declare @dt_datetime datetime
select @dt_datetime=@str_datetime

Это дает следующую ошибку:

Msg 242, Уровень 16, Состояние 3, Строка 4
Преобразование varchar преобразование типа данных в тип данных datetime привело к выходу -значения диапазона -.

Мой вопрос: как SQL Server решает, какой формат использовать для неявного преобразования даты и времени?

18
задан Aaron Bertrand 1 May 2012 в 15:34
поделиться