STUFF (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse 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.
Sintaks
STUFF ( character_expression , start , length , replace_with_expression )
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_expression maupun 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, , abcdef
mulai dari posisi 2
, di b
, dan menyisipkan string kedua pada titik penghapusan.
SELECT STUFF('abcdef', 2, 3, 'ijklmn');
GO
Berikut set hasilnya.
---------
aijklmnef
(1 row(s) affected)