Aracılığıyla paylaş


IsDate (Transact-sql)

1 Döner expressionbir geçerli date, time, ya datetimedeğeri; durumda, 0.

Tüm genel bakış için Transact-SQLbkz: Tarih ve Saat veri türleri ve işlevler, Tarih ve Saat veri türleri ve işlevler (Transact-sql).

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

ISDATE ( expression )

Bağımsız değişkenler

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

Dönüş Türü

int

Açıklamalar

IsDate yalnızca onunla kullanıyorsanız deterministik DÖNÜŞTÜRMEK işlevi, convert stili parametresi belirtilen ve stili 0, 100, 9 veya 109 eşit değil.

Ayarlar ISDATE dönüş değeri bağlıdır set dateformat, Dil ve Varsayılan dil sunucu yapılandırma seçeneği yapılandırmak. Örnekler için bkz: örnek c.

IsDate ifade biçimleri

Geçerli biçimler, hangi-ecek dönmek ISDATE 1 örnekleri için "Desteklenen dize Literal biçimleri datetime için" bölümüne bakın içinde datetime ve smalldatetime konular. Ek örnekler için bkz: de Input/Output"Arguments" sütunu bölümünde cast ve convert.

Aşağıdaki tabloda, geçerli olmayan 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ürlerinden değerleri listelenen Veri türü karakter dizeleri Unicode karakter dizelerini veya tarihi ve saati dışındaki herhangi bir veri türü kategorisinde.

0

Değerler, text, ntext, ya imageveri türlerini.

0

3 Daha büyük bir saniye duyarlık ölçeğe sahip herhangi bir değer (.0000 ile.0000000... 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 datetime ifade sınamak için kullanma

Aşağıdaki örnek, nasıl kullanılacağını gösterir ISDATEolan bir karakter dizesini olup olmadığını test etmek için geçerli bir datetime.

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

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

B.Dönüş değerleri set dateformat ve dil ayarları efektleri gösterme

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

/* 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

CAST ve CONVERT (Transact-SQL)