MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak działa KOERCYBILNOŚĆ() w MariaDB

W MariaDB, COERCIBILITY() jest funkcją systemową, która zwraca wartość koercji sortowania swojego argumentu ciągu.

Określa, w jaki sposób sortowanie zostanie przekonwertowane w przypadku konfliktu sortowania. W takich konfliktach wyrażenie o wyższej koercji jest przekształcane w zestawienie wyrażenia o niższej koercji.

Składnia

Składnia wygląda tak:

COERCIBILITY(str)

Gdzie str to wyrażenie, za które chcesz uzyskać przymus.

COERCIBILITY() funkcja zwraca wartość pomiędzy 0 i 5 , jak przedstawiono w poniższej tabeli:

Przymus Opis Przykład
0 Jasne Wartość przy użyciu COLLATE klauzula
1 Brak sortowania Połączone ciągi za pomocą różnych sortowań
2 Niejawne Wartość kolumny
3 Stała Wartość zwracana z funkcji takich jak USER() , VERSION() itp.
4 Przymusowe Dosłowny ciąg
5 Ignorowany NULL lub wywodzi się z NULL

Przykład

Oto przykład do zademonstrowania:

SELECT COERCIBILITY('Green');

Wynik:

+-----------------------+
| COERCIBILITY('Green') |
+-----------------------+
|                     4 |
+-----------------------+

To jest normalny ciąg, więc koercyfikacja wynosi 4 .

Wyraźne sortowanie

Oto przykład jawnego określenia sortowania za pomocą COLLATE klauzula.:

SELECT COERCIBILITY('Mango' COLLATE utf8_spanish_ci);

Wynik:

+-----------------------------------------------+
| COERCIBILITY('Mango' COLLATE utf8_spanish_ci) |
+-----------------------------------------------+
|                                             0 |
+-----------------------------------------------+

Zwraca 0 ponieważ jawnie określiłem sortowanie za pomocą COLLATE klauzula.

Kolumna bazy danych

W tym przykładzie zwracam dane z kolumny bazy danych.:

SELECT 
    PetName,
    COERCIBILITY(PetName)
FROM Pets
LIMIT 1;

Wynik:

+---------+-----------------------+
| PetName | COERCIBILITY(PetName) |
+---------+-----------------------+
| Fluffy  |                     2 |
+---------+-----------------------+

Fakt, że jest to kolumna bazy danych oznacza, że ​​jest to niejawne zestawienie, a zatem otrzymujemy koercyjność 2 .

Stałe

W tym przykładzie otrzymuję koercyjność wartości zwracanej z wbudowanej funkcji VERSION() funkcja:

SELECT COERCIBILITY(VERSION());

Wynik:

+-------------------------+
| COERCIBILITY(VERSION()) |
+-------------------------+
|                       3 |
+-------------------------+

Wartości puste

Oto, co się dzieje, gdy przekazujemy null :

SELECT COERCIBILITY(null);

Wynik:

+--------------------+
| COERCIBILITY(null) |
+--------------------+
|                  6 |
+--------------------+

Wartości null można zignorować, więc otrzymujemy koercyjność 6 .

Brak argumentów

Wywołanie COERCIBILITY() bez żadnych argumentów powoduje błąd:

SELECT COERCIBILITY();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'COERCIBILITY'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak NVL() działa w MariaDB

  2. 2 sposoby zwracania wierszy zawierających tylko znaki niealfanumeryczne w MariaDB

  3. Skalowanie bazy danych Moodle

  4. Jak działa SOUNDEX() w MariaDB

  5. Jak zainstalować i zabezpieczyć MariaDB na CentOS 7?