Skip Headers

오라클 10g 함수
10g Release 1 (10.1)
Go to Documentation Home
HOME
Go to Book List
ORA_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
ORA_10G
Go to Feedback page
MAIL

Go to previous page
Previous
Go to next page
Next

BITAND

문법

MAIN

bitand::=
Description of bitand.gif follows

그림 설명 : bitand(인수1,인수2)

 

목적

MAIN

BITAND 함수는 인수1과 인수2의 비트에 대한 AND연산을 수행하여 정수를 반환한다. expr1과 expr2는 음이 아닌 정수로 변환되어, AND 연산을 계산하여 정수를 반환한다. 이 함수는 일반적으로 DECODE함수와 함께 이용하는데, 다음과 같이 설명할수 있다.

AND연산은 2개의 비트를 비교한다. 값이 같을 경우에는 1을 반환한다. 값이 다를 경우에는 0을 반환한다. 중요한 비트만 비교를 한다. 예를 들어, 정수 5(이진수 101)과 1(이진수 001)의 AND연산은 1(이진수 1)이다.

양쪽 인수는 임의의 수치 데이터형 또는 암묵적으로 NUMBER로 변환 가능한 수치 이외의 데이터형을 지정할수 있다.이 함수는 NUMBER를 반환환다.

 

SAS참고

MAIN

http://www.statwith.pe.kr/SAS/1.FUNCTION/F0024.htm

 

예제

MAIN

다음 예제는 oe.order 테이블에서 개별 비트에 의해 각 order_status를 표시한다.(이 예제는 총 7인 옵션을 지정하였기 때문에, order_status가 7을 넘는 행은 제외된다.) Location변수의 경우 비트 연산 결과가 1이면 'Warehouse' 아니면, 'Postoffice'를 반환한다.

SELECT order_id, customer_id,order_status
  DECODE(BITAND(order_status, 1), 1, 'Warehouse', 'PostOffice') Location,
  DECODE(BITAND(order_status, 2), 2, 'Ground', 'Air') Method,
  DECODE(BITAND(order_status, 4), 4, 'Insured', 'Certified') Receipt
  FROM  oe.orders
  WHERE order_status < 8;

  ORDER_ID CUSTOMER_ID LOCATION   MET RECEIPT
---------- ----------- ---------- --- ---------
      2458         101 Postoffice Air Certified
      2397         102 Warehouse  Air Certified
      2454         103 Warehouse  Air Certified
      2354         104 Postoffice Air Certified
      2358         105 Postoffice G   Certified
      2381         106 Warehouse  G   Certified
      2440         107 Warehouse  G   Certified
      2357         108 Warehouse  Air Insured
      2394         109 Warehouse  Air Insured
      2435         144 Postoffice G   Insured
      2455         145 Warehouse  G   Insured
. . .