Udostępnij za pośrednictwem


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.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

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;

Zobacz także

Odwołanie