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ı
Belirli bir dizi değerinin tüm örneklerini başka bir dizi değeriyle değiştirir.
Transact-SQL söz dizimi kuralları
Sözdizimi
REPLACE ( string_expression , string_pattern , string_replacement )
Arguments
string_expression
Aranan dize ifadesi mi?
string_expression karakter veya ikili veri tipinde olabilir.
string_pattern
Alt diziyi bulmak için.
string_pattern karakter veya ikili veri türünde olabilir.
string_pattern bir sayfaya sığan maksimum bayt sayısını aşmamalıdır.
Eğer string_pattern boş bir diziye ('') ise, string_expression değişmeden döner.
string_replacement
Yedek ip.
string_replacement karakter veya ikili veri türünde olabilir.
Dönüş Türleri
Giriş argümanlarından biri nvarchar veri tipindeyse nvarchar döndürür; aksi takdirde, REPLACE varchar döner.
Argümanlardan herhangi biri NULL ise NULL döndürür.
Eğer string_expressionvarchar(max) veya nvarchar(max) türünde değilse, REPLACE dönüş değerini 8.000 baytta keser. 8.000 bayttan büyük değerleri döndürmek için string_expression açıkça büyük değerli bir veri türüne aktarılmalıdır.
Açıklamalar
REPLACE ise girdilerin karşılaştırılmasına göre karşılaştırmalar yapar. Belirli bir derlemede karşılaştırma yapmak için, COLLATE kullanarak girdiye açık bir derleme uygulayabilirsiniz.
0x0000 (char(0)) Windows derlemelerinde tanımlanmamış bir karakterdir ve REPLACE kapsamına dahil edilemez.
Örnekler
Aşağıdaki örnek, içindeki abcdefghicdexxxdizicde, . ile değiştirir.
SELECT REPLACE('abcdefghicde','cde','xxx');
GO
Sonuç kümesi aşağıdadır.
------------
abxxxfghixxx
(1 row(s) affected)
Aşağıdaki örnek fonksiyonu COLLATE kullanır.
SELECT REPLACE('This is a Test' COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO
Sonuç kümesi aşağıdadır.
------------
This is a desk
(1 row(s) affected)
Aşağıdaki örnek, bir cümledeki boşluk sayısını şu REPLACE fonksiyon kullanarak hesaplar. İlk olarak, cümlenin uzunluğunu fonksiyonla LEN hesaplar. Daha sonra '' karakterlerini '' ile değiştirir.REPLACE Bu işlemden sonra, cümlenin uzunluğunu tekrar hesaplar. Ortaya çıkan fark, cümledeki boşluk karakter sayısıdır.
DECLARE @STR NVARCHAR(100), @LEN1 INT, @LEN2 INT;
SET @STR = N'This is a sentence with spaces in it.';
SET @LEN1 = LEN(@STR);
SET @STR = REPLACE(@STR, N' ', N'');
SET @LEN2 = LEN(@STR);
SELECT N'Number of spaces in the string: ' + CONVERT(NVARCHAR(20), @LEN1 - @LEN2);
GO
Sonuç kümesi aşağıdadır.
------------
Number of spaces in the sentence: 7
(1 row(s) affected)
Ayrıca Bkz.
CONCAT (Transact-SQL)
CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)
ALINTI (Transact-SQL)
TERS (Transact-SQL)
STRING_AGG (Transact-SQL)
STRING_ESCAPE (Transact-SQL)
ŞEYLER (Transact-SQL)
ÇEVIR (Transact-SQL)
Veri Türleri (Transact-SQL)
Dize İşlevleri (Transact-SQL)