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 Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
Eğer döküm başarılı olursa, belirtilen veri türüne bir değer döküm döner; aksi takdirde, döner NULL.
Transact-SQL söz dizimi kuralları
Sözdizimi
TRY_CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
Arguments
data_type
İfadenin atandığı veri türü.
length
Kullanıcının belirtilen uzunluğuna izin veren veri türleri için hedef veri türünün uzunluğunu belirten isteğe bağlı bir tamsayı. Uzunluk için maksimum değer 8.000 bayttır.
expression
Atma değeri.
üslup
Fonksiyonun TRY_CONVERTifadeyi nasıl çevireceğini belirten isteğe bağlı tam sayı ifadesi.
Style, fonksiyonun CONVERT parametresiyle aynı değerleri kabul eder. Daha fazla bilgi için bkz. CAST ve CONVERT.
data_type değeri, kabul edilebilir değerler aralığını belirler.
Eğer stil iseNULL, döner TRY_CONVERTNULL.
Dönüş türleri
Eğer döküm başarılı olursa, belirtilen veri türüne bir değer döküm döner; aksi takdirde, döner NULL.
Açıklamalar
TRY_CONVERT geçirilen değeri alır ve belirtilen data_type dönüştürmeye çalışır. Eğer atış başarılı olursa, TRY_CONVERT belirtilen değer data_type döner; hata NULL olursa döner. Ancak açıkça izin verilmeyen bir dönüştürme isteğinde bulunursanız hatayla TRY_CONVERT başarısız olur.
TRY_CONVERT uyumluluk seviyesinden 110başlayarak ayrılmış bir anahtar kelimedir.
Bu fonksiyon, SQL Server 2012 (11.x) ve daha sonraki sürümlere sahip sunuculara uzaktan bağlanabilir. SQL Server 2012 (11.x) sürümünden daha eski sürüme sahip sunuculara uzaktan bağlanmaz.
Örnekler
A. TRY_CONVERT NULL döndürür
Aşağıdaki örnek, atış başarısız olduğunda geri
TRY_CONVERTdöndüğünüNULLgösterir.SELECT CASE WHEN TRY_CONVERT(FLOAT, 'test') IS NULL THEN 'Cast failed' ELSE 'Cast succeeded' END AS Result; GOBu sorgu sonucunu döndürür.
Cast failedAşağıdaki örnek, ifadenin beklenen biçimde olması gerektiğini gösterir.
SET DATEFORMAT dmy; SELECT TRY_CONVERT(DATETIME2, '12/31/2022') AS Result; GOBu sorgu sonucunu döndürür.
NULL
B. TRY_CONVERT hatayla başarısız olur
Aşağıdaki örnek, atamaya açıkça izin verilmediğinde hata döndürdüğünü TRY_CONVERT gösterir.
SELECT TRY_CONVERT(XML, 4) AS Result;
GO
Bu ifadenin sonucu bir hatadır, çünkü bir tamsayı xml veri tipine dökülemez.
Explicit conversion from data type int to xml is not allowed.
C. TRY_CONVERT başarılı olur
Bu örnek, ifadenin beklenen biçimde olması gerektiğini gösterir.
SET DATEFORMAT mdy;
SELECT TRY_CONVERT(DATETIME2, '12/31/2022') AS Result;
GO
Bu sorgu sonucunu döndürür.2022-12-31 00:00:00.0000000