본문 바로가기
오라클 게시판/오라클 함수

【오라클(Oracle) SQL 함수】 BITAND 함수

by 기서무나구물 2018. 11. 11.

포스팅 목차

    o BITAND

     


    문 법

    itand::=


    목 적

    BITAND 함수는 인수 1과 인수 2의 비트에 대한 AND연산을 수행한 결괏값을 정수로 반환한다.

    expr1과 expr2는 음이 아닌 정수로 변환되어, AND 연산을 계산하여 정수를 반환한다. 이 함수는 일반적으로 DECODE함수와 함께 이용하는데, 다음과 같이 설명할 수 있다.
    AND연산은 2개의 비트를 비교한다. 값이 같을 경우에는 1을 반환한다. 값이 다를 경우에는 0을 반환한다. 중요한 비트만 비교를 한다. 예를 들어, 정수 5(이진수 101)와 1(이진수 001)의 AND연산은 1(이진수 1)이다.
    양쪽 인수는 임의의 수치 데이터형 또는 암묵적으로 NUMBER로 변환 가능한 수치 이외의 데이터형을 지정할수 있다. 이 함수는 NUMBER를 반환한다.

     


    패키지 함수 비교 (Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table)

     


    SAS 참고

    * SAS Bitand 함수 : [링크]

    * [엑셀과 SAS함수] BITAND 함수 : [링크]

     


    관련 함수

    함수명 함수내용
    BIN_TO_NUM 비트(2진수) 벡터를 동등한 수치(10진수)로 변환한다.
    BITAND 인수 1과 인수 2의 비트에 대한 AND연산을 수행한 결괏값을 정수로 반환한다.

    [오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크]

     


    예 제

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

    Oracle Program
    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;

     

    Results
      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

     


    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크
    반응형

    댓글