Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Titik akhir analitik SQL di Microsoft Fabric
Gudang di Microsoft Fabric
Database SQL di Microsoft Fabric
Fungsi ini mencari satu ekspresi karakter di dalam ekspresi karakter kedua, mengembalikan posisi awal ekspresi pertama jika ditemukan.
Sintaks
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
Argumen
expressionToFind
Ekspresi karakter yang berisi urutan untuk ditemukan. expressionToFind memiliki batas 8.000 karakter.
expressionToSearch
Ekspresi karakter untuk dicari.
start_location
Ekspresi bilangan bulat atau besar di mana pencarian dimulai. Jika start_location tidak ditentukan, memiliki nilai negatif, atau memiliki nilai nol (0), pencarian dimulai di awal expressionToSearch.
Jenis yang dikembalikan
bigint jika expressionToSearch memiliki jenis data nvarchar(max), varbinary(max), atau varchar(max ) ; int sebaliknya.
Keterangan
Jika ekspresiToFind atau ekspresiToSearch memiliki jenis data Unicode (nchar atau nvarchar), dan ekspresi lainnya tidak, CHARINDEX fungsi mengonversi ekspresi lain tersebut ke jenis data Unicode.
CHARINDEX tidak dapat digunakan dengan jenis data gambar, ntext, atau teks .
Jika ekspresi ExpressionToFind atau ekspresiToSearch memiliki NULL nilai, CHARINDEX mengembalikan NULL.
Jika CHARINDEX tidak menemukan expressionToFind dalam expressionToSearch, CHARINDEX mengembalikan 0.
CHARINDEX melakukan perbandingan berdasarkan kolate input. Untuk melakukan perbandingan dalam kolamen tertentu, gunakan COLLATE untuk menerapkan kolatasi eksplisit ke input.
Posisi awal yang dikembalikan berbasis 1, bukan berbasis 0.
0x0000 (char(0)) adalah karakter yang tidak terdefinisi dalam kolase Windows dan tidak dapat disertakan dalam CHARINDEX.
Karakter Tambahan (Pasangan Pengganti)
Saat menggunakan kolase karakter tambahan (SC), baik start_location maupun pasangan pengganti jumlah nilai pengembalian sebagai satu karakter, bukan dua. Untuk informasi selengkapnya, lihat Dukungan Collation dan Unicode.
Contoh
J. Mengembalikan posisi awal ekspresi
Contoh ini mencari bicycle dalam variabel nilai string yang dicari @document.
DECLARE @document AS VARCHAR (64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('bicycle', @document);
GO
Berikut set hasilnya.
-----------
48
B. Mencari dari posisi tertentu
Contoh ini menggunakan parameter start_location opsional
DECLARE @document AS VARCHAR (64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('vital', @document, 5);
GO
Berikut set hasilnya.
-----------
16
C. Mencari ekspresi yang tidak ada
Contoh ini memperlihatkan tataan hasil saat CHARINDEX tidak menemukan expressionToFind dalam expressionToSearch.
DECLARE @document AS VARCHAR (64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('bike', @document);
GO
Berikut set hasilnya.
-----------
0
D. Melakukan pencarian peka huruf besar/kecil
Contoh ini menunjukkan pencarian peka huruf besar/kecil untuk string TEST dalam string This is a Testyang dicari .
USE tempdb;
GO
--perform a case sensitive search
SELECT CHARINDEX('TEST', 'This is a Test' COLLATE Latin1_General_CS_AS);
Berikut set hasilnya.
-----------
0
Contoh ini menunjukkan pencarian peka huruf besar/kecil untuk string Test dalam string This is a Testyang dicari .
USE tempdb;
GO
SELECT CHARINDEX('Test', 'This is a Test' COLLATE Latin1_General_CS_AS);
Berikut set hasilnya.
-----------
11
E. Melakukan pencarian yang tidak peka huruf besar/kecil
Contoh ini menunjukkan pencarian yang tidak peka huruf besar/kecil untuk string TEST dalam string This is a Testyang dicari .
USE tempdb;
GO
SELECT CHARINDEX('TEST', 'This is a Test' COLLATE Latin1_General_CI_AS);
GO
Berikut set hasilnya.
-----------
11
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
F. Mencari dari awal ekspresi string
Contoh ini mengembalikan lokasi pertama string is dalam string This is a string, dimulai dari posisi 1 (karakter pertama) dari This is a string.
SELECT CHARINDEX('is', 'This is a string');
Berikut set hasilnya.
---------
3
G. Mencari dari posisi selain posisi pertama
Contoh ini mengembalikan lokasi pertama string is dalam string This is a string, memulai pencarian dari posisi 4 (karakter keempat).
SELECT CHARINDEX('is', 'This is a string', 4);
Berikut set hasilnya.
---------
6
H. Hasil saat string tidak ditemukan
Contoh ini menunjukkan nilai pengembalian ketika CHARINDEX tidak menemukan string string_pattern dalam string yang dicari.
SELECT TOP (1) CHARINDEX('at', 'This is a string')
FROM dbo.DimCustomer;
Berikut set hasilnya.
---------
0