Итак, я просмотрел документацию по функции ISDATE ()в SQL Server и увидел это в примерах:
SET DATEFORMAT mdy;
SELECT ISDATE('15/04/2008'); --Returns 0.
SET DATEFORMAT mdy;
SELECT ISDATE('15/2008/04'); --Returns 0.
SET DATEFORMAT mdy;
SELECT ISDATE('2008/15/04'); --Returns 0.
SET DATEFORMAT mdy;
SELECT ISDATE('2008/04/15'); --Returns 1.
Последний пример возвращает 1 (допустимую дату ), но дата приведенный выше формат не соответствует формату в выражении функции. Я подумал, что это ошибка в документации, но затем с любопытством попробовал сам, и на самом деле он возвращает 1.
Так почему же «2008/04/15» допустимая дата, если формат даты mdy?
Документация здесь:http://msdn.microsoft.com/en-us/library/ms187347(SQL.105 ).aspx