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 2017 (14.x) ve sonraki sürümleri
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
İkinci bağımsız değişkende belirtilen bazı karakterler üçüncü bağımsız değişkende belirtilen bir hedef karakter kümesine çevrildikten sonra, ilk bağımsız değişken olarak sağlanan dizeyi döndürür.
Sözdizimi
TRANSLATE ( inputString, characters, translations )
Arguments
inputString
Aranacak dize ifadesi . inputString herhangi bir karakter veri türü (nvarchar, varchar, nchar, char) olabilir.
Karakter
Değiştirilmesi gereken karakterleri içeren bir dize ifadesi . karakterler herhangi bir karakter veri türü olabilir.
Çeviri -leri
Yeni karakterleri içeren bir dize ifadesi . çevirileri, karakterlerle aynı veri türü ve uzunluğu olmalıdır.
Dönüş türleri
İkinci bağımsız değişkendeki karakterlerin üçüncü bağımsız değişkendeki eşleşen karakterlerle değiştirildiği inputString ile aynı veri türünde bir karakter ifadesi döndürür.
Açıklamalar
TRANSLATE
karakterlerin ve çeviri ifadelerinin uzunlukları farklıysa hata döndürür.
TRANSLATE bağımsız değişkenlerden herhangi biri NULL ise NULL döndürür.
İşlevin TRANSLATE davranışı, birden çok DEĞİşTİr işlevinin kullanılmasına benzer.
TRANSLATE ancak tek tek karakterleri inputString birden çok kez değiştirmez. parametresindeki characters tek bir değer içindeki birden çok karakterin inputStringyerini alabilir.
Bu, önceki bir iç içe REPLACE işlev çağrısıyla değiştirilse bile her işlev çağrısı tüm ilgili karakterleri değiştireceğinden, birden çok REPLACE işlevin davranışına benzer değildir.
TRANSLATE her zaman SC harmanlamanın farkındadır. Tamamlayıcı harmanlamalar hakkında daha fazla bilgi için bkz. Harmanlama ve Unicode desteği.
Örnekler
A. Kare ve küme ayraçlarını normal küme ayraçlarıyla değiştirme
Aşağıdaki sorgu, giriş dizesindeki kare ve küme ayraçlarını parantezlerle değiştirir:
SELECT TRANSLATE('2*[3+4]/{7-2}', '[]{}', '()()');
Sonuç kümesi aşağıdadır.
2*(3+4)/(7-2)
DEĞİşTİr'e eşdeğer çağrılar
Aşağıdaki SELECT deyiminde, DEĞİşTİr işlevine yapılan dört iç içe çağrıdan oluşan bir grup görürsünüz. Bu grup, önceki SELECT içindeki TRANSLATE işlevine yapılan tek çağrıya eşdeğerdir:
SELECT
REPLACE
(
REPLACE
(
REPLACE
(
REPLACE
(
'2*[3+4]/{7-2}',
'[',
'('
),
']',
')'
),
'{',
'('
),
'}',
')'
);
B. GeoJSON noktalarını WKT'ye dönüştürme
GeoJSON, çeşitli coğrafi veri yapılarını kodlamaya yönelik bir biçimdir. İşlevle TRANSLATE geliştiriciler GeoJSON noktalarını kolayca WKT biçimine dönüştürebilir ve bunun tersi de geçerlidir. Aşağıdaki sorgu, girişteki kare ve küme ayraçlarını normal küme ayraçlarıyla değiştirir:
SELECT TRANSLATE('[137.4,72.3]' , '[,]', '( )') AS Point,
TRANSLATE('(137.4 72.3)' , '( )', '[,]') AS Coordinates;
Sonuç kümesi aşağıdadır.
| Point | Koordinat -ları |
|---|---|
| (137.4 72.3) | [137.4,72.3] |
C. TRANSLATE işlevini kullanma
SELECT TRANSLATE('abcdef','abc','bcd') AS Translated,
REPLACE(REPLACE(REPLACE('abcdef','a','b'),'b','c'),'c','d') AS Replaced;
Sonuç kümesi aşağıdadır.
| Çevrilmiş | Değiştirilir |
|---|---|
| bcddef | ddddef |