In MariaDB ELT()
ist eine integrierte Zeichenfolgenfunktion, die ein numerisches Argument akzeptiert, gefolgt von einer Reihe von Zeichenfolgenargumenten. Es gibt dann die Zeichenfolge zurück, die der angegebenen numerischen Position entspricht, die vom ersten Argument bereitgestellt wird.
Syntax
Die Syntax lautet wie folgt:
ELT(N, str1[, str2, str3,...])
Wobei N
ist das numerische Argument und str1[, str2, str3,…]
stellt die String-Argumente dar.
Beispiel
Hier ist ein einfaches Beispiel:
SELECT ELT(2, 'Red', 'Green', 'Blue');
Ergebnis:
+--------------------------------+ | ELT(2, 'Red', 'Green', 'Blue') | +--------------------------------+ | Green | +--------------------------------+
In diesem Fall haben wir 2
verwendet um das zweite String-Argument zurückzugeben.
Schwimmer
Wenn das erste Argument ein FLOAT
ist , MariaDB rundet es auf die nächste ganze Zahl:
SELECT
ELT(2.4, 'Red', 'Green', 'Blue') AS "2.4",
ELT(2.5, 'Red', 'Green', 'Blue') AS "2.5";
Ergebnis:
+-------+------+ | 2.4 | 2.5 | +-------+------+ | Green | Blue | +-------+------+
Festlegen einer Position außerhalb des Bereichs
Die Angabe einer Position außerhalb des gültigen Bereichs führt zu null
zurückgegeben wird. Beispiele unten.
Position von Null
Bereitstellung von 0
als erstes Argument gibt null
zurück :
SELECT ELT(0, 'Red', 'Green', 'Blue');
Ergebnis:
+--------------------------------+ | ELT(0, 'Red', 'Green', 'Blue') | +--------------------------------+ | NULL | +--------------------------------+
Negative Position
Wenn Sie als erstes Argument einen negativen Wert angeben, wird null
zurückgegeben :
SELECT ELT(-2, 'Red', 'Green', 'Blue');
Ergebnis:
+---------------------------------+ | ELT(-2, 'Red', 'Green', 'Blue') | +---------------------------------+ | NULL | +---------------------------------+
Wenn die Position zu groß ist
Wenn das erste Argument eine Zahl ist, die größer ist als die Gesamtzahl der Zeichenfolgenargumente, ELT()
gibt null zurück:
SELECT ELT(20, 'Red', 'Green', 'Blue');
Ergebnis:
+---------------------------------+ | ELT(20, 'Red', 'Green', 'Blue') | +---------------------------------+ | NULL | +---------------------------------+
Nicht numerische Positionen
Wenn das erste Argument keine Zahl ist, ELT()
gibt null
zurück :
SELECT ELT('Two', 'Red', 'Green', 'Blue');
Ergebnis:
+------------------------------------+ | ELT('Two', 'Red', 'Green', 'Blue') | +------------------------------------+ | NULL | +------------------------------------+
Nur ein String-Argument bereitstellen
Die Angabe eines einzelnen String-Arguments ist gültig, obwohl in diesem Fall das erste Argument 1
sein müsste um zu vermeiden, null
zu erhalten :
SELECT ELT(1, 'Red');
Ergebnis:
+---------------+ | ELT(1, 'Red') | +---------------+ | Red | +---------------+
Null-Strings
Zeichenfolgenargumente können null
sein ohne das Ergebnis der anderen zu beeinflussen:
SELECT ELT(3, 'Red', null, 'Blue');
Ergebnis:
+-----------------------------+ | ELT(3, 'Red', null, 'Blue') | +-----------------------------+ | Blue | +-----------------------------+
Geben Sie jedoch eine Zahl an, die mit null
übereinstimmt Das String-Argument gibt offensichtlich null
zurück :
SELECT ELT(2, 'Red', null, 'Blue');
Ergebnis:
+-----------------------------+ | ELT(2, 'Red', null, 'Blue') | +-----------------------------+ | NULL | +-----------------------------+
Festlegen einer Nullposition
Bereitstellung von null
als erstes Argument ergibt null
:
SELECT ELT(null, 'Red');
Ergebnis:
+------------------+ | ELT(null, 'Red') | +------------------+ | NULL | +------------------+
Einzelnes Argument
Wenn Sie nur ein Argument angeben, wird ein Fehler zurückgegeben:
SELECT ELT(2);
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ELT'
Fehlendes Argument
Aufruf von ELT()
ohne Übergabe von Argumenten ergibt sich ein Fehler:
SELECT ELT();
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ELT'