STUFF (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Fungsi STUFF menyisipkan string ke string lain. Ini menghapus panjang karakter yang ditentukan dalam string pertama pada posisi mulai lalu menyisipkan string kedua ke dalam string pertama pada posisi awal.

Konvensi sintaks transact-SQL

Sintaksis

STUFF ( character_expression , start , length , replace_with_expression )

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

character_expression

Ekspresi data karakter. character_expression bisa berupa konstanta, variabel, atau kolom data karakter atau biner.

mulai

Nilai bilangan bulat yang menentukan lokasi untuk memulai penghapusan dan penyisipan. Jika awal negatif atau nol, string null dikembalikan. Jika start lebih panjang dari character_expression pertama, string null akan dikembalikan. start dapat berjenis bigint.

length

Bilangan bulat yang menentukan jumlah karakter yang akan dihapus. Jika panjangnya negatif, string null dikembalikan. Jika panjangnya lebih panjang dari character_expression pertama, penghapusan terjadi hingga karakter terakhir di character_expression terakhir. Jika panjangnya nol, penyisipan terjadi di lokasi mulai, dan tidak ada karakter yang dihapus. panjangnya bisa berjenis bigint.

replace_with_expression

Ekspresi data karakter. replace_with_expression dapat berupa konstanta, variabel, atau kolom dari data karakter atau biner. Ekspresi ini menggantikan karakter panjang character_expression dimulai dari awal. Menyediakan NULL sebagai replace_with_expression, menghapus karakter tanpa menyisipkan apa pun.

Jenis yang dikembalikan

Mengembalikan data karakter jika character_expression adalah salah satu jenis data karakter yang didukung. Mengembalikan data biner jika character_expression adalah salah satu jenis data biner yang didukung.

Keterangan

Jika posisi awal atau panjangnya negatif, atau jika posisi awal lebih besar dari panjang string pertama, string null dikembalikan. Jika posisi awal adalah 0, nilai null dikembalikan. Jika panjang yang akan dihapus lebih panjang dari string pertama, panjangnya akan dihapus ke karakter pertama dalam string pertama.

Kesalahan dimunculkan jika nilai yang dihasilkan lebih besar dari maksimum yang didukung oleh jenis pengembalian.

Karakter tambahan (pasangan pengganti)

Saat menggunakan kolatasi karakter tambahan (SC), baik character_expressionmaupun replace_with_expression dapat menyertakan pasangan pengganti. Parameter panjang menghitung setiap pengganti dalam character_expression sebagai satu karakter.

Contoh

Contoh berikut mengembalikan string karakter yang dibuat dengan menghapus tiga karakter dari string pertama, , abcdefmulai dari posisi 2, di b, dan menyisipkan string kedua pada titik penghapusan.

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

Berikut adalah hasil yang ditetapkan.

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

Baca juga