Função ISTATE () do SQL Server - Alguém pode explicar isso?

Então eu estava olhando a documentação para a função ISDATE () no SQL Server e vi isso nos exemplos:

<code>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.
</code>

O último exemplo retorna 1 (uma data válida), mas o formato de data acima não corresponde ao formato na expressão da função. Eu pensei que era um erro na documentação, mas depois curiosamente tentei por mim mesmo e ele realmente retorna 1.

Então porque é que '2008/04/15' é uma data válida quando o formato da data é mdy?

Documentação aqui:http://msdn.microsoft.com/en-us/library/ms187347(SQL.105).aspx

questionAnswers(2)

yourAnswerToTheQuestion