Bagikan melalui


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.

Konvensi sintaks transact-SQL

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)