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

Jak ELT() działa w MariaDB

W MariaDB, ELT() to wbudowana funkcja łańcuchowa, która akceptuje argument numeryczny, po którym następuje seria argumentów łańcuchowych. Następnie zwraca ciąg, który odpowiada podanej pozycji numerycznej podanej w pierwszym argumencie.

Składnia

Składnia wygląda tak:

ELT(N, str1[, str2, str3,...])

Gdzie N jest argumentem liczbowym, a str1[, str2, str3,…] reprezentuje argumenty ciągu.

Przykład

Oto podstawowy przykład:

SELECT ELT(2, 'Red', 'Green', 'Blue');

Wynik:

+--------------------------------+
| ELT(2, 'Red', 'Green', 'Blue') |
+--------------------------------+
| Green                          |
+--------------------------------+

W tym przypadku użyliśmy 2 aby zwrócić drugi argument łańcucha.

Pływaki

Jeśli pierwszym argumentem jest FLOAT , MariaDB zaokrągla go do najbliższej liczby całkowitej:

SELECT 
    ELT(2.4, 'Red', 'Green', 'Blue') AS "2.4",
    ELT(2.5, 'Red', 'Green', 'Blue') AS "2.5";

Wynik:

+-------+------+
| 2.4   | 2.5  |
+-------+------+
| Green | Blue |
+-------+------+

Określanie pozycji poza zasięgiem

Określenie pozycji poza zakresem daje w wyniku null zostanie zwrócony. Przykłady poniżej.

Pozycja zero

Podanie 0 jako pierwszy argument zwraca null :

SELECT ELT(0, 'Red', 'Green', 'Blue');

Wynik:

+--------------------------------+
| ELT(0, 'Red', 'Green', 'Blue') |
+--------------------------------+
| NULL                           |
+--------------------------------+

Pozycja ujemna

Podanie wartości ujemnej jako pierwszego argumentu zwraca null :

SELECT ELT(-2, 'Red', 'Green', 'Blue');

Wynik:

+---------------------------------+
| ELT(-2, 'Red', 'Green', 'Blue') |
+---------------------------------+
| NULL                            |
+---------------------------------+

Gdy pozycja jest zbyt duża

Jeśli pierwszy argument jest liczbą większą niż łączna liczba argumentów ciągu, ELT() zwraca wartość null:

SELECT ELT(20, 'Red', 'Green', 'Blue');

Wynik:

+---------------------------------+
| ELT(20, 'Red', 'Green', 'Blue') |
+---------------------------------+
| NULL                            |
+---------------------------------+

Pozycje nieliczbowe

Jeśli pierwszy argument nie jest liczbą, ELT() zwraca null :

SELECT ELT('Two', 'Red', 'Green', 'Blue');

Wynik:

+------------------------------------+
| ELT('Two', 'Red', 'Green', 'Blue') |
+------------------------------------+
| NULL                               |
+------------------------------------+

Podawanie tylko jednego argumentu ciągu

Podanie pojedynczego argumentu ciągu jest poprawne, chociaż w tym przypadku pierwszym argumentem musiałby być 1 aby uniknąć uzyskania null :

SELECT ELT(1, 'Red');

Wynik:

+---------------+
| ELT(1, 'Red') |
+---------------+
| Red           |
+---------------+

Null Strings

Argumenty łańcuchowe mogą być null bez wpływu na wynik innych:

SELECT ELT(3, 'Red', null, 'Blue');

Wynik:

+-----------------------------+
| ELT(3, 'Red', null, 'Blue') |
+-----------------------------+
| Blue                        |
+-----------------------------+

Chociaż określenie liczby odpowiadającej null argument string oczywiście zwróci null :

SELECT ELT(2, 'Red', null, 'Blue');

Wynik:

+-----------------------------+
| ELT(2, 'Red', null, 'Blue') |
+-----------------------------+
| NULL                        |
+-----------------------------+

Określanie pozycji zerowej

Podanie null jako pierwszy argument daje wynik null :

SELECT ELT(null, 'Red');

Wynik:

+------------------+
| ELT(null, 'Red') |
+------------------+
| NULL             |
+------------------+

Pojedynczy argument

Podanie tylko jednego argumentu zwraca błąd:

SELECT ELT(2);

Wynik:

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

Brakujący argument

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

SELECT ELT();

Wynik:

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

  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 działa krok JSONPath Wildcard (**) w MariaDB

  2. MariaDB USER() Objaśnienie

  3. ClusterControl — Zaawansowane zarządzanie kopiami zapasowymi — mariabackup Część III

  4. Jak chronić bazę danych MySQL lub MariaDB przed wstrzyknięciem SQL:część pierwsza

  5. Zrozumienie indeksów w MySQL:część trzecia