Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana Fungsi POSITION() Bekerja di MySQL

Di MySQL, POSITION() fungsi mengembalikan posisi kemunculan pertama substring dalam string.

Fungsi ini sebenarnya sinonim untuk LOCATE() , tetapi dengan sintaks yang sedikit berbeda. LOCATE() function juga memiliki fungsionalitas ekstra, yang memungkinkan Anda menentukan posisi awal dari pencarian Anda.

Sintaks

Sintaks dasarnya seperti ini:

POSITION(substr IN str)

Dimana substr adalah substring dan str adalah string.

Contoh 1 – Penggunaan Dasar

SELECT POSITION('Cat' IN 'The Cat') Result;

Hasil:

+--------+
| Result |
+--------+
|      5 |
+--------+

Contoh 2 – Sensitivitas Huruf Besar

POSITION() fungsi multibyte aman, dan peka huruf besar-kecil hanya jika setidaknya satu argumen adalah string biner.

Jadi contoh berikut tidak peka huruf besar/kecil:

SELECT POSITION('Cat' IN 'The cat') Result;

Hasil:

+--------+
| Result |
+--------+
|      5 |
+--------+

Contoh 3 – Tidak Cocok

Fungsi mengembalikan 0 jika substring tidak ditemukan di dalam string:

SELECT POSITION('Dog' IN 'The cat') Result;

Hasil:

+--------+
| Result |
+--------+
|      0 |
+--------+

Contoh 4 – Substring Tertanam

Hati-hati saat memilih substring. Jika itu bagian dari kata lain, Anda bisa mendapatkan hasil positif palsu:

SELECT POSITION('Cat' IN 'Good Catch!') Result;

Hasil:

+--------+
| Result |
+--------+
|      6 |
+--------+

Jika Anda hanya mencari kucing , hewan, ini akan menjadi positif palsu.

Contoh 5 – Kejadian Pertama Saja

Ingat, fungsi ini hanya mengembalikan posisi pertama kemunculan substring. Kejadian selanjutnya diabaikan:

SELECT POSITION('Cat' IN 'My cat is bigger than your cat') Result;

Hasil:

+--------+
| Result |
+--------+
|      4 |
+--------+

Contoh 6 – Argumen NULL

Jika salah satu argumennya adalah NULL , hasilnya adalah NULL :

SELECT 
  POSITION('Cat' IN NULL) 'Result 1',
  POSITION(NULL IN 'The Cat') 'Result 2';

Hasil:

+----------+----------+
| Result 1 | Result 2 |
+----------+----------+
|     NULL |     NULL |
+----------+----------+

Seperti yang disebutkan, Anda juga dapat menggunakan LOCATE() fungsi, yang memungkinkan Anda menentukan posisi awal untuk pencarian Anda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sisipkan beberapa baris dengan pernyataan yang disiapkan PDO

  2. Laravel-5 'LIKE' setara (Fasih)

  3. Bagaimana cara mengelompokkan berdasarkan minggu di MySQL?

  4. Permintaan UNION dengan pola rekaman aktif codeigniter

  5. Dapatkan catatan dengan nilai maksimal untuk setiap grup hasil SQL yang dikelompokkan