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