REVERSE
説明
REVERSE関数は入力シーケンスの順序を逆転するために使用されます。文字列引数の場合、文字の順序が逆転した文字列を返します。配列引数の場合、要素の順序が逆転した配列を返します。この関数は文字単位で逆転処理を行い、UTF-8マルチバイト文字を正しく処理できます。
構文
REVERSE(<seq>)
パラメータ
| パラメータ | 説明 |
|---|---|
<seq> | 反転する文字列または配列。型: VARCHAR または ARRAY |
戻り値
入力と同じ型の反転されたシーケンスを返します:
- 文字列入力: VARCHAR型を返し、文字の順序が反転された文字列
- 配列入力: ARRAY型を返し、要素の順序が反転された配列
特殊ケース:
- パラメータがNULLの場合、NULLを返す
- 文字列が空の場合、空の文字列を返す
- 配列が空の場合、空の配列を返す
- 単一文字の文字列は反転後も同じまま
例
- 基本的な文字列の反転
SELECT REVERSE('hello');
+------------------+
| REVERSE('hello') |
+------------------+
| olleh |
+------------------+
- 配列要素の反転
SELECT REVERSE(['hello', 'world']);
+-----------------------------+
| REVERSE(['hello', 'world']) |
+-----------------------------+
| ["world", "hello"] |
+-----------------------------+
- NULL値の処理
SELECT REVERSE(NULL);
+---------------+
| REVERSE(NULL) |
+---------------+
| NULL |
+---------------+
- 空文字列と空配列
SELECT REVERSE(''), REVERSE([]);
+-------------+-------------+
| REVERSE('') | REVERSE([]) |
+-------------+-------------+
| | [] |
+-------------+-------------+
- 単一文字と単一要素
SELECT REVERSE('A'), REVERSE(['single']);
+--------------+--------------------+
| REVERSE('A') | REVERSE(['single']) |
+--------------+--------------------+
| A | ["single"] |
+--------------+--------------------+
- 数値と特殊文字
SELECT REVERSE('12345'), REVERSE('!@#$%');
+------------------+------------------+
| REVERSE('12345') | REVERSE('!@#$%') |
+------------------+------------------+
| 54321 | %$#@! |
+------------------+------------------+
- UTF-8マルチバイト文字
SELECT REVERSE('ṭṛì ḍḍumai'), REVERSE('ḍḍumannàri');
+-----------------------+------------------------+
| REVERSE('ṭṛì ḍḍumai') | REVERSE('ḍḍumannàri') |
+-----------------------+------------------------+
| iamuḍḍ ìṛṭ | irànnaumuḍḍ |
+-----------------------+------------------------+
- 混合文字タイプ
SELECT REVERSE('Hello123'), REVERSE('test@email.com');
+---------------------+--------------------------+
| REVERSE('Hello123') | REVERSE('test@email.com') |
+---------------------+--------------------------+
| 321olleH | moc.liame@tset |
+---------------------+--------------------------+
- 複数要素配列
SELECT REVERSE([1, 2, 3, 4, 5]), REVERSE(['a', 'b', 'c']);
+---------------------------+------------------------+
| REVERSE([1, 2, 3, 4, 5]) | REVERSE(['a', 'b', 'c']) |
+---------------------------+------------------------+
| [5, 4, 3, 2, 1] | ["c", "b", "a"] |
+---------------------------+------------------------+
- 回文テスト
SELECT REVERSE('level'), REVERSE('12321');
+------------------+-------------------+
| REVERSE('level') | REVERSE('12321') |
+------------------+-------------------+
| level | 12321 |
+------------------+-------------------+
説明
REVERSE関数は、文字列内の文字の順序、または配列内の要素の順序を逆順にするために使用されます。
構文
REVERSE( <seq> )
パラメータ
| Parameter | デスクリプション |
|---|---|
<seq> | 順序を逆にする必要がある文字列または配列。 |
Return Value
順序が逆になった文字列または配列を返します。特殊なケース:
- いずれかのParameterがNULLの場合、NULLが返されます。
Examples
SELECT reverse('hello');
+------------------+
| REVERSE('hello') |
+------------------+
| olleh |
+------------------+
SELECT reverse(['hello', 'world']);
+-----------------------------+
| reverse(['hello', 'world']) |
+-----------------------------+
| ["world", "hello"] |
+-----------------------------+