Aracılığıyla paylaş


IsDate (Transact-SQL)

# 1 Sayı expression geçerli bir date, time, veya datetime değeri; Aksi takdirde, 0.

Tüm genel bakış için Transact-SQLBkz:tarih ve saat veri türleri ve İşlevler, Tarih ve Saat İşlevleri (Transact-SQL).Bilgi ve tarih ve saat veri türleri ve işlevleri ortaktır örnekler için bkz: Tarih ve saat veri kullanma.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

ISDATE ( expression )

Bağımsız değişkenler

  • expression
    Bir karakter dize veya ifade , dönüştürülebilir bir karakter dize.ifade az 4.000 karakter olmalıdır.

Dönüş Türü

int

Açıklamalar

IsDate yalnızca ile kullanırsanız, deterministic DÖNÜŞTÜRMEKconvert stili parametresi belirtilen ve stili 0, 100, 9 veya 109 eşit değilişlev.

IsDate dönüş değerinin ayarları küme ile bağlıdır set VBLONGDATE, Dil ve varsayılan dil seçeneği.Örnekler için bkz: örnek c.

IsDate ifade biçimleri

IsDate 1 döner geçerli biçimler örnekler için "Desteklenen dize Literal biçimleri datetime için" bölümüne bakın de datetime ve smalldatetime Konular.Ek örnekler için Ayrıca bkz: Input/Output sütun "Arguments" kısmında ARTIĞINI ve convert.

Aşağıdaki tablo geçerli değildir ve 0 ya da bir hata geri dönmek giriş ifade biçimleri özetlemektedir.

IsDate ifade

IsDate dönüş değeri

NULL

0

Veri türleri değerleri listelenen içinde Veri türleri karakter dizeleri, Unicode karakter dizelerini veya tarih ve saatdışında hiçbir veri türü kategorisinde.

0

Değerleri, text, ntext, veya image veri türü.

0

3'ten büyük bir saniye duyarlık ölçeğe sahip herhangi bir değer (.0000000 ile.0000...n)

0

Geçerli bir tarih geçersiz bir değer, örneğin 1995-10-1a karıştırırsa herhangi bir değer.

0

Örnekler

A.IsDate için geçerli bir datetime ifadesınamak için kullanma

Aşağıdaki örnek, nasıl kullanılacağını gösterir ISDATE olup olmadığını bir karakter dize sınamak için geçerli olan datetime.

IF ISDATE('2009-05-12 10:19:41.177') = 1
    PRINT 'VALID'
ELSE
    PRINT 'INVALID'

B.Dönüş değerleri AYARLAMAK VBLONGDATE ve dil ayarlarını etkilerini gösteren

Ayarları bir sonucu olarak döndürülen değerler aşağıdaki ifadeleri göster SET DATEFORMAT ve 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;

Ayrıca bkz.

Başvuru