INTERVAL( 値X, 値1, 値2, ・・・, 値N )
INTERVAL関数を使用することで、第二引数以降のリストの中で、第一引数の値より大きい最初の値の位置を調べることができます。
INTERVAL関数は、第二引数以降の値のうち、最初に出現した第一引数の値より大きい値の位置を返します。
例えば第三引数の値が第一引数より大きい場合1を、第四引数の値が第一引数より大きい場合2を返します。
mysql> SELECT INTERVAL( 5, 1, 6, 9, 10 ); +----------------------------+ | INTERVAL( 5, 1, 6, 9, 10 ) | +----------------------------+ | 1 | +----------------------------+ 1 row in set (0.00 sec)
mysql> SELECT INTERVAL( 8, 1, 6, 9, 10 ); +----------------------------+ | INTERVAL( 8, 1, 6, 9, 10 ) | +----------------------------+ | 2 | +----------------------------+ 1 row in set (0.00 sec)
第一引数より大きい値が見つからなかった場合、最後の位置 + 1 の値を返します。
mysql> SELECT INTERVAL( 80, 1, 6, 9, 10 ); +-----------------------------+ | INTERVAL( 80, 1, 6, 9, 10 ) | +-----------------------------+ | 4 | +-----------------------------+ 1 row in set (0.00 sec)