MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana LOCATE() Bekerja di MariaDB

Di MariaDB, LOCATE() adalah fungsi string bawaan yang mengembalikan posisi kemunculan pertama substring dalam string lain.

LOCATE() mirip dengan INSTR() fungsi, kecuali LOCATE() menyediakan pilihan untuk menentukan posisi awal untuk pencarian. Juga, urutan argumen dibalik antara dua fungsi ini.

Sintaks

LOCATE() function mendukung sintaks dua argumen, dan sintaks tiga argumen.

Sintaks dua argumen:

LOCATE(substr,str) 

Sintaks tiga argumen:

LOCATE(substr,str,pos) 

Dimana str adalah string, substr adalah substring untuk ditemukan, dan pos adalah posisi untuk memulai pencarian.

Contoh

Berikut ini contoh dasarnya:

SELECT LOCATE('hot', 'The hot sun'); 

Hasil:

+-----------------------------+| LOCATE('panas', 'Matahari terik') |+------------------------------+| 5 |+----------------------------+

Posisi Awal

Berikut adalah contoh memberikan posisi awal untuk pencarian:

SELECT LOCATE('hot', 'The hot sun is really hot', 8); 

Hasil:

+------------------------------------------------- --+| LOCATE('panas', 'Mataharinya panas banget', 8) |+------------------------------- -----------------+| 23 |+----------------------------------------------- -+

Sensitivitas Huruf Besar

LOCATE() melakukan pencarian peka huruf besar/kecil:

SELECT LOCATE('HOT', 'The hot sun'); 

Hasil:

+-----------------------------+| LOCATE('HOT', 'The hot sun') |+-------------------------------+| 5 |+----------------------------+

Beberapa Kejadian

Jika substring muncul lebih dari sekali, hanya posisi substring pertama (dari posisi awal) yang dikembalikan:

SELECT LOCATE('hot', 'The hot sun is really hot'); 

Hasil:

+--------------------------------------------+| LOCATE('panas', 'Mataharinya panas banget') |+--------------------------------- -----------+| 5 |+-------------------------------------------------------+ 

Ini dia dengan posisi awal:

SELECT LOCATE('hot', 'The hot sun is really hot', 20); 

Hasil:

+------------------------------------------------- --+| LOCATE('panas', 'Matahari yang panas benar-benar panas', 20) |+------------------------------- -----------------+| 23 |+----------------------------------------------- -+

Kecocokan Parsial

Jika substring adalah bagian dari kata yang lebih besar, itu masih cocok:

SELECT LOCATE('hot', 'The hottest sun'); 

Hasil:

+----------------------------------+| LOCATE('panas', 'Matahari terpanas') |+----------------------------------+| 5 |+-----------------------------------+

Tetapi jika string hanya bagian dari substring, itu tidak cocok:

SELECT LOCATE('hottest', 'The hot sun'); 

Hasil:

+----------------------------------+| LOCATE('hottest', 'The hot sun') |+----------------------------------+| 0 |+-----------------------------------+

Ruang

Karakter spasi masih berupa string, jadi kita dapat menyertakan spasi di substring, meskipun itu satu-satunya karakter:

SELECT LOCATE(' ', 'The hot sun'); 

Hasil:

+----------------------------+| LOCATE(' ', 'The hot sun') |+----------------------------+| 4 |+------------------------+

String Kosong

Inilah yang terjadi ketika substring adalah string kosong:

SELECT LOCATE('', 'The hot sun'); 

Hasil:

+---------------------------+| LOCATE('', 'The hot sun') |+-----------------+| 1 |+-----------------------+

Tidak Cocok

Jika substring tidak ditemukan dalam string, LOCATE() mengembalikan 0 :

SELECT LOCATE('cold', 'The hot sun'); 

Hasil:

+-------------------------------+| LOCATE('dingin', 'Matahari yang panas') |+-------------------------------+| 0 |+-------------------------------+

Argumen Null

Memberikan null untuk salah satu argumen menghasilkan null :

SELECT 
    LOCATE(null, 'The hot sun'),
    LOCATE('hot', null); 

Hasil:

+-----------------------------+---------------- -----+| LOCATE(null, 'Matahari yang panas') | LOCATE('hot', null) |+-----------------------------+---------- -----------+| NULL | NULL |+----------------------------+----------------- ----+

Menyediakan Jumlah Argumen yang Salah

Memanggil LOCATE() dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun menghasilkan kesalahan:

SELECT LOCATE('hot'); 

Hasil:

ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'LOCATE'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penyeimbangan Beban Basis Data:Pengaturan Terdistribusi vs Terpusat

  2. Cara Memotong Teks dengan Ellipsis di MariaDB

  3. Caching Kueri MySQL &MariaDB Dengan ProxySQL &ClusterControl

  4. Bagaimana ROUND() Bekerja di MariaDB

  5. Enkripsi MariaDB Penuh Saat Istirahat dan Dalam Perjalanan untuk Perlindungan Data Maksimum - Bagian Satu