최종 수정: 에
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ànnamuḍḍ |
+--------------------------------+----------------------------+
- 여러 종류의 문자가 섞인 문자열
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 |
+------------------+-------------------+