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.
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;