ISDATE (Transact-SQL)
Zwraca wartość 1, jeśli expression jest nieprawidłową date, time, lub datetime wartości; w przeciwnym razie 0.
Przegląd wszystkich Transact-SQL data i czas typów danych i funkcji, zobacz Funkcje daty i godziny (Transact-SQL).Informacje i przykłady, które są wspólne dla data i czas typów danych i funkcji, zobacz Data i czas danych.
Składnia
ISDATE ( expression )
Argumenty
- expression
To ciąg znaków lub wyrażenie mogą być konwertowane do ciągznaków.wyrażenie musi być mniejsza niż 4 000 znaków.
Zwracany typ
int
Uwagi
ISDATE jest przewidywalne, tylko w przypadku używania z PRZEKONWERTOWAĆ funkcja, jeśli określono parametr styl konwersji i styl nie jest równa 0, 100, 9 lub 109.
Wartość zwracana ISDATE zależy od ustawień zestaw przez USTAWIĆ format daty, Ustaw język i opcjijęzyk domyślny.Przykłady, zobacz przykład c.
Formaty wyrażenie ISDATE
Przykłady prawidłowe formaty, dla których ISDATE zostanie zwrócona wartość 1 zobacz sekcję "Obsługiwane ciąg literału formaty daty/godziny" w datetime i smalldatetime tematy.Dodatkowe przykłady, zobacz również Input/Output kolumna "Argumenty" sekcja ODDANYCH i KONWERTOWAĆ.
W poniższej tabela zestawiono formaty wejściowe wyrażenie nie są prawidłowe i że zwraca 0 lub błąd.
ISDATE wyrażenie |
Wartość zwracana ISDATE |
---|---|
NULL |
0 |
Wartości typów danych wymienionych w Typów danych w każdej kategorii typu danych innych niż ciągi znaków, ciągi znaków Unicode lub data i czas. |
0 |
Wartości z text, ntext, lub image typów danych. |
0 |
Każdą wartość, która ma skali precision sekund większe niż 3 (.0000 przez.0000000...n) |
0 |
Każda wartość miesza prawidłową data o wartości nieprawidłowej, na przykład 1995-10-1a. |
0 |
Przykłady
A.Aby przetestować prawidłowy element datetime wyrażenieprzy użyciu ISDATE
Poniższy przykład pokazuje sposób używania ISDATE do sprawdzenia, czy ciąg znaków jest prawidłowy datetime.
IF ISDATE('2009-05-12 10:19:41.177') = 1
PRINT 'VALID'
ELSE
PRINT 'INVALID'
B.Pokazywanie skutki ustawienia USTAWIĆ format daty i Ustaw język do wartości zwracanych
Poniższe instrukcje Pokaż wartości, które są zwracane z ustawieniami SET DATEFORMAT i SET LANGUAGE.
/* Use these sessions settings. */
SET LANGUAGE us_english;
SET DATEFORMAT mdy;
/* Expression in mdy dateformat */
SELECT ISDATE('04/15/2008'); --Returns 1.
/* Expression in mdy dateformat */
SELECT ISDATE('04-15-2008'); --Returns 1.
/* Expression in mdy dateformat */
SELECT ISDATE('04.15.2008'); --Returns 1.
/* Expression in myd dateformat */
SELECT ISDATE('04/2008/15'); --Returns 1.
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.
SET DATEFORMAT dmy;
SELECT ISDATE('15/04/2008'); --Returns 1.
SET DATEFORMAT dym;
SELECT ISDATE('15/2008/04'); --Returns 1.
SET DATEFORMAT ydm;
SELECT ISDATE('2008/15/04'); --Returns 1.
SET DATEFORMAT ymd;
SELECT ISDATE('2008/04/15'); --Returns 1.
SET LANGUAGE English;
SELECT ISDATE('15/04/2008'); --Returns 0.
SET LANGUAGE Hungarian;
SELECT ISDATE('15/2008/04'); --Returns 0.
SET LANGUAGE Swedish;
SELECT ISDATE('2008/15/04'); --Returns 0.
SET LANGUAGE Italian;
SELECT ISDATE('2008/04/15'); --Returns 1.
/* Return to these sessions settings. */
SET LANGUAGE us_english;
SET DATEFORMAT mdy;