REPLACE (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
Mengganti semua kemunculan nilai untai (karakter) yang ditentukan dengan nilai untai (karakter) yang lain.
Sintaks
REPLACE ( string_expression , string_pattern , string_replacement )
Argumen
string_expression
Adalah ekspresi string yang akan dicari. string_expression bisa berjenis data karakter atau biner.
string_pattern
Apakah substring yang akan ditemukan. string_pattern bisa berjenis data karakter atau biner. string_pattern tidak boleh melebihi jumlah maksimum byte yang pas di halaman. Jika string_pattern adalah string kosong (''), string_expression dikembalikan tidak berubah.
string_replacement
Adalah string pengganti. string_replacement bisa berjenis data karakter atau biner.
Jenis Kembalian
Mengembalikan nvarchar jika salah satu argumen input adalah dari jenis data nvarchar; jika tidak, REPLACE mengembalikan varchar.
Mengembalikan NULL jika salah satu argumen adalah NULL.
Jika string_expression bukan tipe varchar(maks) atau nvarchar(maks), REPLACE memotong nilai yang dikembalikan pada 8.000 byte. Untuk mengembalikan nilai yang lebih besar dari 8.000 byte, string_expression harus secara eksplisit ditransmisikan ke jenis data bernilai besar.
Keterangan
REPLACE melakukan perbandingan berdasarkan kolate input. Untuk melakukan perbandingan dalam kolamen tertentu, Anda dapat menggunakan COLLATE untuk menerapkan kolatasi eksplisit ke input.
0x0000 (char(0)) adalah karakter yang tidak terdefinisi dalam kolase Windows dan tidak dapat disertakan dalam REPLACE.
Contoh
Contoh berikut mengganti string cde
dengan abcdefghicde
xxx
.
SELECT REPLACE('abcdefghicde','cde','xxx');
GO
Berikut set hasilnya.
------------
abxxxfghixxx
(1 row(s) affected)
Contoh berikut menggunakan COLLATE
fungsi .
SELECT REPLACE('This is a Test' COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO
Berikut set hasilnya.
------------
This is a desk
(1 row(s) affected)
Contoh berikut menghitung jumlah spasi dalam kalimat menggunakan REPLACE
fungsi . Pertama, ini menghitung panjang kalimat dengan LEN
fungsi . Kemudian mengganti karakter ' ' dengan '' dengan REPLACE
. Setelah proses ini, ia menghitung panjang kalimat lagi. Perbedaan yang dihasilkan adalah jumlah karakter spasi dalam kalimat.
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
Berikut set hasilnya.
------------
Number of spaces in the sentence: 7
(1 row(s) affected)
Lihat Juga
CONCAT (T-SQL)
CONCAT_WS (T-SQL)
FORMATMESSAGE (Transact-SQL)
QUOTENAME (Transact-SQL)
TERBALIK (Transact-SQL)
STRING_AGG (T-SQL)
STRING_ESCAPE (T-SQL)
STUFF (Transact-SQL)
TERJEMAHKAN (Transact-SQL)
Tipe Data (Transact-SQL)
Fungsi String (Transact-SQL)