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

Perbedaan Antara INSTR() vs LOCATE() di MariaDB

MariaDB memiliki INSTR() fungsi dan juga LOCATE() fungsi. Kedua fungsi tampaknya melakukan hal yang persis sama – mengembalikan posisi substring dalam string.

Namun, ada perbedaan.

Perbedaan

Kita dapat melihat perbedaan antara kedua fungsi ini dengan melihat sintaksnya, serta beberapa contoh.

Sintaks

Sintaks untuk INSTR() :

INSTR(str,substr)

Dua sintaks yang diterima untuk LOCATE() :

LOCATE(substr,str)
LOCATE(substr,str,pos)

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

Perbedaan kedua fungsi tersebut dapat diringkas sebagai berikut:

  • LOCATE() function menerima dua argumen yang sama dengan INSTR() menerima, tetapi dalam urutan terbalik.
  • LOCATE() function menerima argumen ketiga opsional untuk menentukan posisi awal pencarian. INSTR() function tidak menerima argumen seperti itu.

Jadi LOCATE() menyediakan fungsionalitas tambahan yang INSTR() tidak menyediakan.

Contoh 1 – Perbedaan Pertama

Berikut adalah contoh yang menunjukkan urutan terbalik di mana kedua fungsi menerima argumennya:

SELECT 
    INSTR('Disconnect', 'con'),
    LOCATE('con', 'Disconnect');

Hasil:

+----------------------------+-----------------------------+
| INSTR('Disconnect', 'con') | LOCATE('con', 'Disconnect') |
+----------------------------+-----------------------------+
|                          4 |                           4 |
+----------------------------+-----------------------------+

Contoh 2 – Perbedaan Kedua

Berikut adalah contoh yang menunjukkan fungsionalitas tambahan yang LOCATE() menyediakan lebih dari INSTR() :

SELECT 
    INSTR('My cat is a good cat', 'cat') AS "INSTR()",
    LOCATE('cat', 'My cat is a good cat') AS "LOCATE()",
    LOCATE('cat', 'My cat is a good cat', 10) AS "LOCATE() with 3rd Argument";

Hasil:

+---------+----------+----------------------------+
| INSTR() | LOCATE() | LOCATE() with 3rd Argument |
+---------+----------+----------------------------+
|       4 |        4 |                         18 |
+---------+----------+----------------------------+

Contoh ini menyoroti fakta bahwa LOCATE() function memberi kita argumen ketiga opsional. Argumen ini memungkinkan kita untuk menentukan posisi awal untuk pencarian, yang berarti kita tidak terbatas hanya pada kemunculan pertama di seluruh string.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa yang Baru di MySQL Galera Cluster 4.0

  2. Apa yang Baru di MariaDB Cluster 10.4

  3. Bagaimana CHR() Bekerja di MariaDB

  4. Membandingkan MariaDB Enterprise Backup dengan ClusterControl Backup Management

  5. Bagaimana TIME_TO_SEC() Bekerja di MariaDB