MariaDBでは、ELT()
は、数値引数とそれに続く一連の文字列引数を受け入れる組み込みの文字列関数です。次に、最初の引数で指定された数値位置に対応する文字列を返します。
構文
構文は次のようになります:
ELT(N, str1[, str2, str3,...])
ここでN
は数値引数であり、str1[, str2, str3,…]
文字列引数を表します。
例
基本的な例は次のとおりです。
SELECT ELT(2, 'Red', 'Green', 'Blue');
結果:
+--------------------------------+ | ELT(2, 'Red', 'Green', 'Blue') | +--------------------------------+ | Green | +--------------------------------+
この場合、2
を使用しました 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つだけ提供する
単一の文字列引数を指定することは有効ですが、この場合、最初の引数は1
である必要があります。 null
を回避するため :
SELECT ELT(1, 'Red');
結果:
+---------------+ | ELT(1, 'Red') | +---------------+ | Red | +---------------+
ヌル文字列
文字列引数はnull
にすることができます 他の人の結果に影響を与えることなく:
SELECT ELT(3, 'Red', null, 'Blue');
結果:
+-----------------------------+ | ELT(3, 'Red', null, 'Blue') | +-----------------------------+ | Blue | +-----------------------------+
ただし、null
に一致する番号を指定します 文字列引数は明らかにnull
を返します :
SELECT ELT(2, 'Red', null, 'Blue');
結果:
+-----------------------------+ | ELT(2, 'Red', null, 'Blue') | +-----------------------------+ | NULL | +-----------------------------+
ヌル位置の指定
null
を提供する 最初の引数はnull
になります :
SELECT ELT(null, 'Red');
結果:
+------------------+ | ELT(null, 'Red') | +------------------+ | NULL | +------------------+
単一の引数
引数を1つだけ指定すると、エラーが返されます:
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'