Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitik Platform Sistemi (PDW)
Microsoft Fabric'te SQL veritabanı
İfade geçerli bir tarih ve saat değeriyse 1 döndürür; aksi takdirde, 0.
ISDATE, ifadesidatetime2 değeri ise 0 döndürür.
Tüm Transact-SQL tarih ve saat veri türlerine ve işlevlerine genel bakış için bkz. Tarih ve Saat Veri Türleri ve İşlevleri (Transact-SQL). Tarih verisi aralığı 1753-01-01 ile 9999-12-31 arasındadır, tarih verileri için ise 0001-01-01 ile 9999-12-31 arasındadır.
Transact-SQL söz dizimi kuralları
Sözdizimi
ISDATE ( expression )
Arguments
expression
Karakter dizisi veya ifadesi olarak dönüştürülebilir bir karakter dizisi veya ifadesidir . İfade 4.000 karakterden az olmalı. Datetime ve küçük tarih saati hariç tarih ve zaman veri türleri ISDATE argümanı olarak kabul edilmez.
Dönüş Türü
int
Açıklamalar
ISDATE yalnızca CONVERT fonksiyonuyla birlikte kullanıldığında, CONVERT stil parametresi belirtilmişse ve stil 0, 100, 9 veya 109 eşit değilse deterministiktir.
ISDATE'in dönüş değeri, SET DATEFORMAT, SET LANGUAGE ve Configure the default language Server Configuration Option tarafından belirlenen ayarlara bağlıdır.
ISDATE ifade Formatları
ISDATE'in 1 döndüreceği geçerli formatlara örnekler için, datetime ve smalldatetime konularındaki "Desteklenen Dize Literal Formatları tarih zamanı" bölümüne bakınız. Ek örnekler için ayrıca CAST ve CONVERT kitaplarının "Argümanlar" bölümündeki Giriş/Çıkış sütununa bakınız.
Aşağıdaki tablo, geçerli olmayan ve 0 veya hata döndüren giriş ifade formatlarını özetler.
| ISDATE ifadesi | ISDATE dönüş değeri |
|---|---|
| null | 0 |
| Veri Tipleri'nde listelenen veri tiplerinin değerleri, karakter dizileri, Unicode karakter dizileri veya tarih ve saat dışındaki herhangi bir veri tipi kategorisinde. | 0 |
| Metin, ntext veya resim veri türlerinin değerleri. | 0 |
| Saniye hassasiyeti 3'ten büyük olan herhangi bir değer (.0000 ile .0000000...n). ISDATE, ifadedatetime2 değeri ise 0 döndürür, ancak ifade geçerli bir datetime değeri ise 1 döndürür. | 0 |
| Geçerli bir tarihi geçersiz bir değerle karıştıran herhangi bir değer, örneğin 1995-10-1a. | 0 |
Örnekler
A. Geçerli bir tarih ifadesi için ISDATE kullanımı
Aşağıdaki örnek, bir karakter dizisinin geçerli bir datetime olup olmadığını nasıl test edeceğinizi gösterirISDATE.
IF ISDATE('2009-05-12 10:19:41.177') = 1
PRINT 'VALID'
ELSE
PRINT 'INVALID';
B. SET DATEFORMAT ve SET Language ayarlarının dönüş değerleri üzerindeki etkilerini göstermek
Aşağıdaki ifadeler, ve ayarlarının sonucunda SET DATEFORMAT döndürülen değerleri gösterir 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;
Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)
C. Geçerli bir tarih ifadesi için ISDATE kullanımı
Aşağıdaki örnek, bir karakter dizisinin geçerli bir datetime olup olmadığını nasıl test edeceğinizi gösterirISDATE.
IF ISDATE('2009-05-12 10:19:41.177') = 1
SELECT 'VALID';
ELSE
SELECT 'INVALID';