Di SQLite, Anda dapat menggunakan instr()
fungsi untuk mengembalikan posisi karakter tertentu dalam string.
Fungsi hanya mengembalikan posisi kemunculan karakter pertama (jika ada).
Jika karakter tidak ditemukan, maka akan mengembalikan 0.
Jika salah satu argumen adalah NULL, maka ia mengembalikan NULL.
Cara Kerjanya
instr()
fungsi menerima dua argumen. Argumen pertama adalah string, dan argumen kedua adalah karakter yang ingin Anda temukan di dalam string tersebut.
Jika argumen keduanya BLOB, maka ia mengembalikan satu lebih banyak dari jumlah byte sebelum kemunculan pertama dari argumen kedua, atau 0 jika tidak terjadi di mana pun dalam argumen pertama.
Sintaksnya seperti ini:
inst(X,Y)
X
adalah stringY
adalah karakternya
Contoh
Berikut ini contoh untuk didemonstrasikan.
SELECT instr('Black cat', 'a');
Hasil:
3
Di sini, saya ingin lokasi huruf a .
Dalam hal ini huruf muncul dua kali, dan instr()
mengembalikan lokasi kejadian pertama.
Contoh Basis Data
Dalam contoh ini, saya akan menggunakan tabel berikut:
ProductId ProductName Price ---------- ------------- ---------- 1 Widget Holder 139.5 2 Blue Widget 10.0 3 Red Widget 10.0 4 Green Widget 10.0 5 Widget Stick 89.75 6 Foo Cap 11.99
Saya akan menelusuri ProductName kolom untuk surat.
SELECT
ProductName,
instr(ProductName, 'd')
FROM Products;
Hasil:
ProductName instr(ProductName, 'd') ------------- ----------------------- Widget Holder 3 Blue Widget 8 Red Widget 3 Green Widget 9 Widget Stick 3 Foo Cap 0
Perhatikan bahwa baris terakhir tidak memiliki huruf tersebut sehingga 0 dikembalikan untuk baris itu.
Nilai NULL
Seperti yang disebutkan, jika salah satu argumen adalah NULL, maka NULL akan dikembalikan.
SELECT
instr(NULL, 'a'),
instr('Black cat', NULL);
Hasil:
instr(NULL, 'a') instr('Black cat', NULL) ---------------- ------------------------