UTL_RAW 모듈
UTL_RAW 모듈은 비트 방식 조작을 수행하기 위한 루틴 세트를 제공합니다.
이 모듈의 스키마는 SYSIBMADM입니다.
UTL_RAW 모듈에는 다음 루틴이 포함됩니다.
| 루틴 이름 | 설명 |
|---|---|
| BIT_AND 루틴 | BIT_AND 루틴은 input1 및 input2의 값에 대한 비트 방식 논리 AND 조작을 실행한 후 그 결과를 리턴합니다. |
| BIT_OR 루틴 | BIT_OR 루틴은 input1 및 input2의 값에 대한 비트 방식 논리 OR 조작을 실행한 후 그 결과를 리턴합니다. |
| BIT_XOR 루틴 | BIT_XOR 루틴은 input1 및 input2의 값에 대한 비트 방식 논리 EXCLUSIVE OR 조작을 실행한 후 그 결과를 리턴합니다. |
| BIT_COMPLIMENT 루틴 | BIT_COMPLEMENT 루틴은 input1의 값에 대한 비트 방식 논리 COMPLEMENT 조작을 실행한 후 그 결과를 리턴합니다. |
| COMPARE 루틴 | COMPARE 루틴은 input2와 비교하여 input1의 값에 대한 COMPARE를 실행합니다. |
| CAST_TO_RAW 함수 | CAST_TO_RAW 함수는 VARCHAR 값을 VARBINARY 값으로 캐스트합니다. |
| CAST_TO_VARCHAR2 함수 | CAST_TO_VARCHAR2 함수는 VARBINARY 값을 VARCHAR2 값으로 캐스트합니다. |
| CAST_FROM_NUMBER 함수 | CAST_FROM_NUMBER 함수는 DECFLOAT 값을 VARBINARY 값으로 캐스트합니다. |
| CAST_TO_NUMBER 함수 | CAST_TO_NUMBER 함수는 VARBINARY 값을 DECFLOAT 값으로 캐스트합니다. |
| CONCAT 함수 | CONCAT 함수는 최대 열두 개(12)의 VARBINARY 값을 단일 값으로 병합합니다. |
| COPIES 함수 | COPIES 함수는 VARBINARY 값의 병합된 결과를 N회만큼 반복하여 리턴합니다. |
| LENGTH 함수 | LENGTH 함수는 VARBINARY 값의 길이를 리턴합니다. |
| REVERSE 함수 | REVERSE 함수는 VARBINARY 값의 숫자 순서를 반전시킵니다. |
| SUBSTR 함수 | SUBSTR 함수는 VARBINARY 값의 지정된 분할 영역을 리턴합니다. |
| CAST_FROM_BINARY_DOUBLE 함수 | CAST_FROM_BINARY_DOUBLE 함수는 DOUBLE 값을 VARBINARY 값으로 캐스트합니다. |
| CAST_FROM_BINARY_FLOAT 함수 | CAST_FROM_BINARY_FLOAT 함수는 FLOAT 값을 VARBINARY 값으로 캐스트합니다. |
| CAST_FROM_BINARY_INTEGER 함수 | CAST_FROM_BINARY_INTEGER 함수는 INTEGER 값을 VARBINARY 값으로 캐스트합니다. |
| CAST_TO_BINARY_DOUBLE 함수 | CAST_TO_BINARY_DOUBLE 함수는 VARBINARY 값을 DOUBLE 값으로 캐스트합니다. |
| CAST_TO_BINARY_FLOAT 함수 | CAST_TO_BINARY_FLOAT 함수는 VARBINARY 값을 FLOAT 값으로 캐스트합니다. |
| CAST_TO_BINARY_INTEGER 함수 | CAST_TO_BINARY_INTEGER 함수는 VARBINARY 값을 INTEGER 값으로 캐스트합니다. |
사용법 참고사항
UTL_RAW 모듈을 사용하여 정상적으로 비트 방식 조작을 수행하려면 테이블 데이터 값의 데이터 유형이 VARBINARY여야 합니다.
예:
예제 1: 다음 예에서는 VARBINARY 데이터 유형을 사용하여 테이블을 설정하는 방법을
보여줍니다.
db2 "create table sample(input1 VARBINARY(20) not null, input2 VARBINARY(20) not null)"
DB20000I The SQL command completed successfully.예제 2: 다음 예에서는
VARBINARY 데이터 유형이 있는 테이블에 데이터를 삽입하는 방법을 보여줍니다.
db2 "insert into sample(input1, input2) values (bx'3131',bx'32323232')"
DB20000I The SQL command completed successfully.
db2 "insert into sample(input1, input2) values (bx'3333',bx'34343434')"
DB20000I The SQL command completed successfully.예제 3: 다음 예에서는 BIT_AND 조작을 실행하는 방법을
보여줍니다.
db2 "select sysibmadm.utl_raw.bit_and(input1,input2) from sample"
1
-----------
x'30303232'
x'30303434'
2 record(s) selected.예 4: 다음 예에서는 BIT_OR 조작을 실행하는 방법을
보여줍니다.
db2 "select sysibmadm.utl_raw.bit_or(input1,input2) from sample"
1
-----------
x'33333232'
x'37373434'
2 record(s) selected.예 5: 다음 예에서는 BIT_XOR 조작을 실행하는 방법을
보여줍니다.
db2 "select sysibmadm.utl_raw.bit_xor(input1,input2) from sample"
1
-----------
x'03033232'
x'07073434'
2 record(s) selected.