MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как ELT() работи в MariaDB

В MariaDB, ELT() е вградена низова функция, която приема числов аргумент, последван от поредица от низови аргументи. След това връща низа, който съответства на дадената числова позиция, предоставена от първия аргумент.

Синтаксис

Синтаксисът е така:

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

Където N е числовият аргумент и str1[, str2, str3,…] представлява низовите аргументи.

Пример

Ето един основен пример:

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

Резултат:

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

В този случай използвахме 2 за да върнете втория аргумент на низа.

Плувки

Ако първият аргумент е FLOAT , MariaDB го закръгля до най-близкото цяло число:

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

Резултат:

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

Указване на позиция извън обхват

Посочването на позиция извън обхвата води до null се връща. Примери по-долу.

Позиция на нула

Предоставяне на 0 като първият аргумент връща null :

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

Резултат:

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

Отрицателна позиция

Предоставянето на отрицателна стойност като първи аргумент връща null :

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

Резултат:

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

Когато позицията е твърде голяма

Ако първият аргумент е число, което е по-голямо от общия брой аргументи на низ, ELT() връща null:

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

Резултат:

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

Нечислови позиции

Ако първият аргумент не е число, ELT() връща null :

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

Резултат:

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

Предоставяне само на един низов аргумент

Предоставянето на единичен низов аргумент е валидно, въпреки че в този случай първият аргумент трябва да бъде 1 за да избегнете получаването на null :

SELECT ELT(1, 'Red');

Резултат:

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

Нулеви низове

Аргументите на низ могат да бъдат null без да засяга резултата от останалите:

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

Резултат:

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

Въпреки това, посочване на число, което съответства на null аргумент string очевидно ще върне null :

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

Резултат:

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

Указване на нулева позиция

Предоставяне на null тъй като първият аргумент води до null :

SELECT ELT(null, 'Red');

Резултат:

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

Единичен аргумент

Предоставянето само на един аргумент връща грешка:

SELECT ELT(2);

Резултат:

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

Липсващ аргумент

Извикване на ELT() без подаване на аргументи води до грешка:

SELECT ELT();

Резултат:

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. Шифроване на база данни:защо и къде трябва да имате криптиране на данни

  2. Как STRCMP() работи в MariaDB

  3. Как IFNULL() работи в MariaDB

  4. Пълен списък на съпоставянията, поддържани от MariaDB

  5. Защита на MySQL - Използване на привилегии за достъп до данни за сигурна инсталация