최종 수정: 에
SUB_BINARY
설명
SUB_BINARY 함수는 VARBINARY 값에서 바이너리 부분 시퀀스를 추출합니다. 추출을 시작할 위치와 추출할 바이트 수를 지정할 수 있습니다. 바이너리의 첫 번째 바이트 위치는 1입니다.
구문
sub_binary(<bin>, <pos> [, <len>])
매개변수
| 매개변수 | 설명 |
|---|---|
<bin> | 원본 바이너리 값. 타입: VARBINARY |
<pos> | 시작 바이트 위치. 음수일 수 있습니다. 타입: INT |
<len> | 선택적 매개변수. 추출할 바이트 수. 타입: INT |
반환값
추출된 바이너리 부분 시퀀스를 나타내는 VARBINARY 타입의 값을 반환합니다.
특수한 경우:
- 매개변수 중 하나라도 NULL이면 NULL을 반환합니다.
- pos가 0이면 빈 바이너리를 반환합니다.
- pos가 음수이면 바이너리 끝에서부터 역방향으로 위치를 셉니다.
- pos가 바이너리 길이를 초과하면 빈 바이너리를 반환합니다.
- len을 지정하지 않으면 pos부터 바이너리 끝까지의 모든 바이트를 반환합니다.
예제
- 기본 사용법(시작 위치 지정)
SELECT sub_binary(x'61626331', 2);
+--------------------------------------------------------+
| sub_binary(x'61626331', 2) |
+--------------------------------------------------------+
| 0x626331 |
+--------------------------------------------------------+
- 음수 위치 사용
SELECT sub_binary(x'61626331', -2);
+----------------------------------------------------------+
| sub_binary(x'61626331', -2) |
+----------------------------------------------------------+
| 0x6331 |
+----------------------------------------------------------+
- 위치가 0인 경우
SELECT sub_binary(x'61626331', 0);
+--------------------------------------------------------+
| sub_binary(x'61626331', 0) |
+--------------------------------------------------------+
| 0x |
+--------------------------------------------------------+
- 위치가 바이너리 길이를 초과하는 경우
SELECT sub_binary(x'61626331', 5);
+--------------------------------------------------------+
| sub_binary(x'61626331', 5) |
+--------------------------------------------------------+
| 0x |
+--------------------------------------------------------+
- 길이 매개변수 지정
SELECT sub_binary(x'61626331646566', 2, 2);
+--------------------------------------------------------+
| sub_binary(x'61626331646566', 2, 2) |
+--------------------------------------------------------+
| 0x6263 |
+--------------------------------------------------------+