Aracılığıyla paylaş


ŞEYLER (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

STUFF fonksiyonu başka bir dizeye bir diziye bir diziye ekler. İlk dizedeki başlangıç konumundaki belirli bir karakter uzunluğunu siler ve ardından ikinci diziyi başlangıç konumundaki ilk diziye ekler.

Transact-SQL söz dizimi kuralları

Sözdizimi

STUFF ( character_expression , start , length , replace_with_expression )

Arguments

character_expression

Karakter verisinin bir ifadesi . character_expression , karakter veya ikili veriden oluşan bir sabit, değişken veya sütun olabilir.

start

Silme ve eklemeye başlayacak yeri belirten tamsayı değeri. Başlangıç negatif veya sıfırsa, bir null dizisi döner. Eğer başlangıç ilk character_expression'den uzunsa, bir null dizisi geri döner. Başlangıçbüyük türde olabilir.

length

Sililmesi gereken karakter sayısını belirten bir tam sayı. Uzunluk negatif ise, bir null dizisi geri döner. Eğer uzunluk ilk character_expression süresinden daha uzunsa, silme son character_expression karaktere kadar gerçekleşir. Uzunluk sıfırsa, başlangıç noktasında ekleme yapılır ve hiçbir karakter silinmez. Uzunlukbüyük türde olabilir.

replace_with_expression

Karakter verisinin bir ifadesi . replace_with_expression , karakter veya ikili veriden oluşan bir sabit, değişken veya sütun olabilir. Bu ifade, baştanbaşlayan character_expressionuzunluk karakterlerinin yerine geçer. replace_with_expression olarak sağlamakNULL, karakterleri hiçbir şey eklemeden çıkarır.

Dönüş türleri

Desteklenen karakter veri tiplerinden biriyse karakter verisi döndürür character_expression . Desteklenen ikili veri tiplerinden biriyse ikili veri döndürür character_expression .

Açıklamalar

Başlangıç pozisyonu veya uzunluk negatif ise, ya da başlangıç pozisyonu ilk ipliğin uzunluğundan büyükse, bir null dizi geri verilir. Başlangıç pozisyonu 0 ise, sıfır bir değer döner. Silme süresi ilk dizemekten uzunsa, ilk dizedeki ilk karaktere kadar silinir.

Sonuçlanan değer, dönüş tipinin desteklediği maksimumdan büyükse hata oluşur.

Ek karakterler (vekil çiftler)

Ek karakter (SC) derlemeleri kullanılırken, hem character_expression hem de replace_with_expression vekil çiftleri içerebilir. Uzunluk parametresi, character_expression'daki her vekil tek bir karakter olarak sayılır.

Örnekler

Aşağıdaki örnek, ilk diziden üç karakter silinerek oluşturulan bir karakter dizisini döndürür, abcdef, konumdan 2başlayarak , , bnoktada , ikinci diziyi silme noktasına yerleştirir.

SELECT STUFF('abcdef', 2, 3, 'ijklmn');
GO

Sonuç kümesi aşağıdadır.

---------
aijklmnef
  
(1 row(s) affected)

Ayrıca bakınız