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

Cara Menggunakan STRCMP() untuk Membandingkan 2 String di MySQL

Salah satu fungsi string di MySQL adalah STRCMP() . Fungsi ini memungkinkan Anda untuk membandingkan dua string menurut urutan pengurutannya.

Fungsi menerima dua argumen. Setiap argumen adalah string untuk dibandingkan. Ini mengembalikan 1 , -1 , atau 0 , tergantung pada apakah string pertama lebih besar, lebih kecil, atau ukurannya sama dengan string kedua, menurut urutan pengurutannya.

Sintaks

Berikut sintaksnya:

STRCMP(expr1,expr2)

Dimana expr1 adalah string pertama dan expr2 adalah string kedua.

Contoh

Berikut ini contoh string pertama lebih kecil dari string kedua menurut urutan pengurutannya:

SELECT STRCMP('A', 'B');

Hasil:

+------------------+
| STRCMP('A', 'B') |
+------------------+
|               -1 |
+------------------+

Jika kita menukar argumen di sekitar kita mendapatkan ini:

SELECT STRCMP('B', 'A');

Hasil:

+------------------+
| STRCMP('B', 'A') |
+------------------+
|                1 |
+------------------+

Dan jika kita menggunakan string yang sama untuk kedua argumen, kita mendapatkan ini:

SELECT STRCMP('A', 'A');

Hasil:

+------------------+
| STRCMP('A', 'A') |
+------------------+
|                0 |
+------------------+

Tentu saja, string dapat (dan mungkin akan) terdiri dari lebih dari satu karakter:

SELECT STRCMP('A big box', 'Wind and rain') AS Result;

Hasil:

+--------+
| Result |
+--------+
|     -1 |
+--------+

Koleksi

STRCMP() fungsi menggunakan pemeriksaan saat membandingkan string. Ini berarti Anda bisa mendapatkan hasil yang berbeda tergantung pada susunan yang digunakan. Contoh berikut menunjukkan hal ini.

Tidak Peka Huruf Besar

Dalam contoh ini kami melakukan perbandingan menggunakan susunan case-insensitive (_ci bagian dari susunan berarti tidak peka huruf besar/kecil):

SET @lowercase = _utf8mb4 'a' COLLATE utf8mb4_0900_ai_ci;
SET @uppercase = _utf8mb4 'A' COLLATE utf8mb4_0900_ai_ci;

SELECT STRCMP(@lowercase, @uppercase) AS Result;

Hasil:

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

Peka Huruf Besar

Dalam contoh ini kami melakukan perbandingan menggunakan susunan peka huruf besar/kecil (_cs bagian dari susunan berarti peka huruf besar/kecil):

SET @lowercase = _utf8mb4 'a' COLLATE utf8mb4_0900_as_cs;
SET @uppercase = _utf8mb4 'A' COLLATE utf8mb4_0900_as_cs;

SELECT STRCMP(@lowercase, @uppercase) AS Result;

Hasil:

+--------+
| Result |
+--------+
|     -1 |
+--------+

Di MySQL, susunan dapat diatur di berbagai tingkatan (misalnya tingkat koneksi, tingkat database, tingkat kolom, dll). Jika Anda tidak yakin susunan apa yang digunakan, lihat Cara Menemukan Susunan di MySQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menginstal dan Mengkonfigurasi phpMyAdmin di CentOS 6

  2. Seberapa besar database MySQL dapat diperoleh sebelum kinerja mulai menurun

  3. Mencampur ANSI 1992 JOIN dan COMMA dalam kueri

  4. Mengimpor csv ke mysql melalui baris perintah

  5. PERIOD_DIFF() Contoh – MySQL