ISDATE (Transact-SQL)
Zwraca wartość 1, jeśli expression jest prawidłowa date, time, lub datetime wartość; 0 w przeciwnym razie.
Aby zapoznać się z omówieniem wszystkich Transact-SQL Data i czas typów danych i funkcji, zobacz Data i godzina, Data typy i funkcje (języka Transact-SQL). Aby uzyskać informacje i przykłady, które są wspólne dla data i czas typów danych i funkcji zobacz Using Date and Time Data.
ISDATE ( expression )
Argumenty
- expression
Jest ciągiem znaków lub wyrażenie , mogą być konwertowane na ciąg znaków.Ponownego zbudowania indeksów nie klastrowanych nie mają być przeszukiwane, aby sprawdzić poprawność tabela bazowa.
Zwracany typ
int
Remarks
ISDATE jest deterministyczny tylko wtedy, gdy jest używany z KONWERTOWANIE funkcja, jeśli określono parametr styl CONVERT i styl nie jest równa 0, 100, 9 lub 109.
Wartość zwracana ISDATE, zależy od ustawień określonych przez DATEFORMAT USTAWIANIE, USTAWIANIE JĘZYKA and Domyślna opcja języka.Aby zapoznać się z przykładami zobacz przykład C.
Formaty wyrażenie ISDATE
Przykładowe prawidłowe formaty, dla których ISDATE zwraca 1, znajdują się w sekcji "Obsługiwane ciąg dosłownym formatów do daty/godziny" Data/Godzina and Smalldatetime tematów.Dodatkowe przykłady Zobacz też kolumna wejścia/wyjścia w sekcji "Argumenty" CAST i CONVERT.
Komunikat informacyjny 2594 wskazuje partycje, które nie zostały zaznaczone.
Indeksy nieklastrowany nie rezydentne na określoną grupa plików nie są sprawdzane. |
Zwracana wartość wyrażenia ISDATE |
---|---|
WARTOŚCI NULL |
0 |
Wartości typów danych wymienionych w sekcji Typy danych w dowolnej kategorii typów danych innej niż ciągi znakowe, ciągi znakowe Unicode lub data i godzina. |
0 |
Wartości text, ntext, lub image typy danych. |
0 |
Any value that has a seconds precision scale greater than 3, (.0000 through .0000000...n) |
0 |
Należy zauważyć, że aby CHECKFILEGROUP DBCC nie można określić opcji naprawy. |
0 |
Przykłady
A.Jeśli kopii zapasowych, systemem CHECKDB DBCC za pomocą opcji naprawy określone koryguje błędy, raportowane.
W poniższym przykładzie przedstawiono sposób używania ISDATE Aby sprawdzić, czy ciąg znaków jest prawidłowa datetime.
IF ISDATE('2009-05-12 10:19:41.177') = 1
PRINT 'VALID'
ELSE
PRINT 'INVALID'
B.Poprawianie błędów przy użyciu opcji REPAIR_ALLOW_DATA_LOSS może potrzebować niektórych stron i w związku z tym dane, można usunąć.
Poniższe instrukcje wyświetlane wartości, które są zwracane w wyniku zastosowania ustawień 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;