Freigeben über


ISDATE (Transact-SQL)

Ermittelt, ob der eingegebene Ausdruck ein gültiges Datum ist.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

ISDATE ( expression )

Argumente

  • expression
    Ein Ausdruck, der auf seine Gültigkeit als Datum überprüft wird. expression ist ein beliebiger Ausdruck (außer einem text-, ntext- oder image-Ausdruck), der implizit in nvarchar konvertiert werden kann.

    ms187347.note(de-de,SQL.90).gifHinweis:
    Ist expression vom Typ varchar, wird der Wert in nvarchar(4000) konvertiert. Wird ein längerer Wert übergeben, der zum Abschneiden führen würde, generiert SQL Server 2005 einen Fehler.

Rückgabetypen

int

Hinweise

ISDATE ist nur deterministisch bei Verwendung mit der CONVERT-Funktion, wenn der style-Parameter von CONVERT angegeben wird und style nicht den Wert 0, 100, 9 oder 109 aufweist.

Die Einstellungen LANGUAGE und DATEFORMAT haben möglicherweise Auswirkungen auf den Rückgabewert von ISDATE.

Beispiele für Vorlagen, für die ISDATE den Wert 1 zurückgibt, finden Sie in der Input/Output-Spalte im Abschnitt "Argumente" von CAST und CONVERT.

ISDATE gibt 1 zurück, wenn es sich bei dem angegebenen Ausdruck um ein gültiges Datum handelt. Andernfalls wird 0 zurückgegeben. Die folgende Tabelle zeigt die Rückgabewerte für einige Beispiele:

Spaltenwert (varchar) ISDATE-Rückgabewert

NULL

0

Abc

0

100, -100, 100 a oder 100.00

0

.01

0

-100.1234e-123

0

.231e90

0

$100.12345, - $100.12345 oder $-1000.123

0

as100 oder 1a00

0

1995-10-1, 1/20/95, 1995-10-1 12:00pm, Feb 7 1995 11:00pm, 1995-10-1 oder 1/23/95

1

13/43/3425 oder 1995-10-1a

0

$1000, $100 oder $100 a

0

Beispiele

A. Verwenden von ISDATE zum Überprüfen einer Variablen

Das folgende Beispiel überprüft die lokale @datestring-Variable auf einen gültigen Datumswert.

DECLARE @datestring varchar(8)
SET @datestring = '12/21/98'
SELECT ISDATE(@datestring)

Dies ist das Resultset.

----------- 
1           

B. Verwenden von ISDATE zum Überprüfen einer Spalte auf Datumswerte

Das folgende Beispiel erstellt die test_dates-Tabelle und fügt zwei Werte ein. Mit ISDATE wird bestimmt, ob die Werte in den Spalten Datumswerte sind.

USE tempdb
CREATE TABLE test_dates (Col_1 varchar(15), Col_2 datetime)
GO
INSERT INTO test_dates VALUES ('abc', 'July 13, 1998')
GO
SELECT ISDATE(Col_1) AS Col_1, ISDATE(Col_2) AS Col_2 
   FROM test_dates

Dies ist das Resultset.

Col_1                     Col_2               
-----------------         --------------------
0                         1                   

Siehe auch

Verweis

SET DATEFORMAT (Transact-SQL)
SET LANGUAGE (Transact-SQL)
char und varchar (Transact-SQL)
Systemfunktionen (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005