Di MariaDB, POSITION() adalah fungsi string bawaan yang mengembalikan posisi kemunculan pertama substring dalam string lain. Ini adalah bagian dari ODBC 3.0.
POSITION(substr IN str) adalah sinonim untuk LOCATE(substr,str) .
POSITION() juga mirip dengan INSTR() fungsi, kecuali POSITION() menggunakan IN sintaks, dan urutan argumen dibalik antara dua fungsi ini.
Sintaks
Sintaksnya seperti ini:
POSITION(substr IN str)
Dimana str adalah string, dan substr adalah substring untuk mengembalikan posisinya.
Contoh
Berikut ini contoh dasarnya:
SELECT POSITION('cute' IN 'My cute dog'); Hasil:
+-----------------------------------+| POSISI('imut' DI 'Anjing imutku') |+-----------------------------------+ | 4 |+------------------------------------+ Sensitivitas Huruf Besar
POSITION() melakukan pencarian peka huruf besar/kecil:
SELECT POSITION('CUTE' IN 'My cute dog'); Hasil:
+-----------------------------------+| POSISI('LUCU' DI 'Anjing imutku') |+-----------------------------------+ | 4 |+------------------------------------+ Beberapa Kejadian
Jika substring muncul lebih dari sekali, hanya posisi substring pertama (dari posisi awal) yang dikembalikan:
SELECT POSITION('cute' IN 'My cute dog is SOOOO cute!'); Hasil:
+------------------------------------------------- ----+| POSISI('imut' DI 'Anjing imutku sangat imut!') |+-------------------------------- ------------------+| 4 |+----------------------------------------------- ---+ Kecocokan Sebagian
Jika substring adalah bagian dari kata yang lebih besar, itu masih cocok:
SELECT POSITION('dog' IN 'My doggy is SOOO cute!'); Hasil:
+------------------------------------------------+ | POSISI('anjing' DI 'Doggy saya sangat lucu!') |+--------------------------------- ------------+| 4 |+---------------------------------------------+
Tetapi jika string hanya bagian dari substring, itu tidak cocok:
SELECT POSITION('doggy' IN 'My dog is SOOO cute!');
Hasil:
+------------------------------------------------+ | POSISI('anjing' DI 'Anjing saya sangat lucu!') |+--------------------------------- ------------+| 0 |+--------------------------------------------+ Ruang
Karakter spasi masih berupa string, jadi kita dapat menyertakan spasi di substring, meskipun itu satu-satunya karakter:
SELECT POSITION(' ' IN 'My dog');
Hasil:
+---------------------------+| POSISI(' ' DI 'Anjing saya') |+---------------------------+| 3 |+-----------------------+ String Kosong
Inilah yang terjadi ketika substring adalah string kosong:
SELECT POSITION('' IN 'My dog');
Hasil:
+--------------------------+| POSISI('' DI 'Anjing saya') |+--------------------------+| 1 |+--------------------------+ Tidak Cocok
Jika substring tidak ditemukan dalam string, POSITION() mengembalikan 0 :
SELECT position('cat' IN 'My dog');
Hasil:
+-----------------------------+| posisi('kucing' DI 'Anjing saya') |+----------------------------+| 0 |+-------------------------+ Argumen Null
Memberikan null untuk salah satu argumen menghasilkan null :
SELECT
POSITION(null IN 'My dog'),
POSITION('dog' IN null);
Hasil:
+------------------------+------------------ --------+| POSISI(null IN 'Anjing saya') | POSISI('anjing' DI null) |+----------------------------+----------- --------------+| NULL | NULL |+----------------------------+------------------ -------+ Menyediakan Jumlah Argumen yang Salah
Memanggil POSITION() dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun menghasilkan kesalahan:
SELECT POSITION('dog');
Hasil:
ERROR 1064 (42000):Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MariaDB Anda untuk sintaks yang tepat untuk digunakan di dekat ')' di baris 1