Funkcja ISDATE () programu SQL Server - Czy ktoś może to wyjaśnić?
Patrzyłem więc na dokumentację funkcji ISDATE () w SQL Server i zobaczyłem to w przykładach:
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.
Ostatni przykład zwraca 1 (poprawna data), ale powyższy format daty nie odpowiada formatowi wyrażenia funkcji. Myślałem, że to pomyłka w dokumentacji, ale potem osobiście wypróbowałem to i rzeczywiście wraca 1.
Dlaczego więc „2008/04/15” jest prawidłową datą, gdy format daty jest mdy?
Dokumentacja tutaj:http://msdn.microsoft.com/en-us/library/ms187347(SQL.105).aspx