Di MariaDB, COERCIBILITY()
adalah fungsi sistem yang mengembalikan nilai koersibilitas collation dari argumen string-nya.
Ini mendefinisikan bagaimana susunan akan dikonversi dalam kasus konflik susunan. Dalam konflik seperti itu, ekspresi dengan koersibilitas yang lebih tinggi dikonversi ke susunan ekspresi dengan koersibilitas yang lebih rendah.
Sintaks
Sintaksnya seperti ini:
COERCIBILITY(str)
Dimana str
adalah ekspresi yang ingin Anda paksakan.
COERCIBILITY()
fungsi mengembalikan nilai antara 0
dan 5
, sebagaimana diuraikan dalam tabel berikut:
Pemaksaan | Deskripsi | Contoh |
---|---|---|
0 | Eksplisit | Nilai menggunakan COLLATE klausa |
1 | Tidak ada pemeriksaan | String bersambung menggunakan susunan berbeda |
2 | Tersirat | Nilai kolom |
3 | Konstan | Nilai yang dikembalikan dari fungsi seperti USER() , VERSION() , dll |
4 | Dipaksa | String literal |
5 | Diabaikan | NULL atau diturunkan dari NULL |
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT COERCIBILITY('Green');
Hasil:
+-----------------------+ | COERCIBILITY('Green') | +-----------------------+ | 4 | +-----------------------+
Ini adalah string normal sehingga koersibilitasnya adalah 4
.
Kolasi Eksplisit
Berikut adalah contoh yang secara eksplisit menentukan susunan dengan COLLATE
klausa.:
SELECT COERCIBILITY('Mango' COLLATE utf8_spanish_ci);
Hasil:
+-----------------------------------------------+ | COERCIBILITY('Mango' COLLATE utf8_spanish_ci) | +-----------------------------------------------+ | 0 | +-----------------------------------------------+
Ini mengembalikan 0
karena saya secara eksplisit menentukan susunan dengan COLLATE
klausa.
Kolom Basis Data
Dalam contoh ini, saya mengembalikan data dari kolom database.:
SELECT
PetName,
COERCIBILITY(PetName)
FROM Pets
LIMIT 1;
Hasil:
+---------+-----------------------+ | PetName | COERCIBILITY(PetName) | +---------+-----------------------+ | Fluffy | 2 | +---------+-----------------------+
Fakta bahwa ini adalah kolom database berarti bahwa ini adalah susunan implisit, dan oleh karena itu kita mendapatkan koersibilitas 2
.
Konstanta
Dalam contoh ini, saya mendapatkan koersibilitas nilai pengembalian dari VERSION()
bawaan fungsi:
SELECT COERCIBILITY(VERSION());
Hasil:
+-------------------------+ | COERCIBILITY(VERSION()) | +-------------------------+ | 3 | +-------------------------+
Nilai Null
Inilah yang terjadi ketika kita melewati null
:
SELECT COERCIBILITY(null);
Hasil:
+--------------------+ | COERCIBILITY(null) | +--------------------+ | 6 | +--------------------+
Nilai nol dapat diabaikan, jadi kami mendapatkan koersibilitas 6
.
Tidak Ada Argumen
Memanggil COERCIBILITY()
tanpa argumen apa pun menghasilkan kesalahan:
SELECT COERCIBILITY();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'COERCIBILITY'