ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [GOLDILOCKS] SQL 함수 사용해보기
    Goldilocks DBMS/실습하기 2018.05.21 01:09

    GOLDILOCKS 함수 형태



    - SINGLE ROW FUNCTION

    - AGGEREGATE FUNCTION



    SINGLE ROW FUNCTION



    SINGLE ROW FUNCTION 각 ROW 마다 하나의 결과를 생성하는 함수이며 아래와 같이 세분화 됩니다.


    - NUMERIC FUNCTION

    - CHARACTER STRING FUNCTION RETURNING CHARACTER VALUES

    - CHARACTER STRING FUNCTION RETURNING NUMBER VALUES

    - DATETIME FUNCTION

    - GENERAL COMPARISON FUNCTION

    - CONVERSION FUNCTION

    - CONDITIONAL FUNCTION

    - NULL-RELATED FUNCTION

    - ROWID-RELATED FUNCTION

    - ENCRYPTION FUNCTION

    - SYSTEM INFORMATION FUNCTION


    AGGREGATE FUNCTION



    AGGREGATE FUNCTION 은 여러 ROW 에 대해 하나의 결과를 생성하는 함수입니다.



    분류별 함수 명 및 설명



     대분류

     중분류

     함수명

     설명

     SINGLE ROW

     NUMERIC

     ABS (num)

     num 의 절대값 반환

     

     

     ACOS (num)

     num 의 코사인의 역을 반환

     

     

     ASIN (num)

     num 의 사인의 역을 반환

     

     

     ATAN (num)

     num 의 탄젠트의 역을 반환

     

     

     ATAN2 (num1, num2)

     num1 과 num 2의 탄젠트의 역을 반환

     

     

     BITAND (num1, num2)

     num1 과 num2 의 비트에 대한 AND 연산을 반환

     

     

     BITNOT (num)

     num 비트에 대한 NOT 연산을 반환

     

     

     BITOR (num1, num2)

     num1 과 num2 의 비트에 대한 OR 연산을 반환

     

     

     BITXOR (num1, num2)

     num1 과 num2 의 비트에 대한 XOR 연산을 반환

       CBRT (num)

     num 의 세제곱근을 반환

      

     CEIL (num)

     CEILING (num)

     num 보다 크거나 같은 가장 작은 정수를 반환
       CHR (num)

     num 에 대응하는 GOLDILOCKS CHARACTER SET CODE 의 문자를 반환

       COS (num)

     num 의 코사인 값을 반환

       COT (num) num 의 코탄젠트 값을 반환
      

     DEGREES (radians)

     radians 를 도 단위로 변환한 값을 반환

       EXP (num)

     자연로그의 num 의 제곱값을 반환

       FACTORIAL (num) 1 ~ num 까지의 연속된 자연수를 곱한 값을 반환
       FLOOR (num) num 보다 크지 않은 가장 큰 정수를 반환
       LN (num) num 의 자연 로그 값을 반환
       LOG (num1, num2)

     밑이 num1 인 num2 의 로그값을 반환

       MOD (num1, num2) num1 을 num2 로 나눈 나머지를 반환
       PI 파이값을 반환
       POWER (num1, num2) num1 의 num2 제곱값을 반환
       RADIANS (degrees) degrees 의 라디안을 반환
      

     RANDOM (min, max)

     min 이상 max 이하의 랜덤값을 반환

      

     ROUND (num, scale)

     num 을 scale 기준으로 반올림한 값을 반환
      

     SHARD_GROUP_ID(table, key)

     table 에 shard 를 관리하는 GROUP ID 를 반환

       SHARD_ID (table, key) table 에 shard 에 대한 ID 를 반환
       SHIFT_LEFT (num ,cnt) num 을 cnt 비트만큼 왼쪽으로 이동시킨 값을 반환
       SHIFT_RIGHT (num, cnt)

     num 을 cnt 비트만큼 오른쪽으로 이동시킨 값을 반환

       SIGN (num) num 의 부호를 반환
       SIN (num) num 의 사인값을 반환
       SQRT (num) num 의 제곱근을 반환
       TAN (num)

     라디안 단위 num 의 탄젠트 값을 반환

       TRUNC (num, scale)

     num 을 scale 기준으로 버림한 값을 반환

       WIDTH_BUCKET (num, min, max, cnt)

     min, max 범위에서 cnt 의 동일한 넓이를 갖는 구간을 생성한 뒤, num 이 속한 구간의 위치를 반환

     

     CHARACTER STRING

     RETURNING CHARACTER

     CONCAT (str1, str2)
     CONCATENATE (str1, str2)

     || 

     str1 과 str2 를 연결한 문자열을 반환
      

     HEX (str)

     str 을 16진수 문자로 반환
       INITCAP (str) str 의 각 단어에 대해 첫번째 문자는 대문자로 이후 문자는 소문자로 변환하여 반환
       LOWER (str) str 의 소문자를 반환
      

     LPAD (str, len, fill)

     str 길이가 len 이 될 때까지 좌측에 문자 fill 을 추가한 값을 반환

      

     LTRIM (str1, str2)

     str1 에서 str2 를 왼쪽방향에서 비교하여 일치되는 문자가 없을때까지 제거한 결과를 반환

      

     OVERLAY (str1 placing str2 from pos)

     str1 의 pos 로부터 str2 로 치환한 결과를 반환

       REPEAT (str, num) num 의 지정된 수만큼 str 을 반복한 결과를 반환
       REPLACE (str, from, to) str 의 모든 from 을 to 로 치환하여 반환
      

     RPAD (str, len, fill)

     str 길이가 len 이 될 때까지 우측에 문자 fill 을 추가한 값을 반환
       RTRIM (str1, str2)

     str1 에서 str2 를 오른쪽방향에서 비교하여 일치되는 문자가 없을때까지 제거한 결과를 반환

      

     SPLIT_PART (str, delimiter, field)

     str 에서 delimiter 로 지정된 문자를 구분자로 하여 field 의 문자열을 반환

      

     SUBSTR (str, pos, len)
     SUBSTRING (str, pos, len)
     SUBSTRB (str, pos, len)

     pos 위치로부터 len 범위의 str 문자를 추출하여 반환

      

     TRANSLATE (str, from, to)

     str 에서 from 문자와 일치하는 모든 문자를 to 문자로 치환하여 반환

      

     TRIM ([str2 from] str)

     str1 에서 str2 를 양방향에서 비교하여 일치되는 문자가 없을때까지 제거한 결과를 반환

       UPPER (str) str 을 대문자로 반환
      

     UNHEX (str)

     str 을 binary string 으로 반환
      CHARACTER STRING
     RETURNING NUMBER
     ASCII (char)

     char 의 첫번째 문자에 대한 GOLDILOCKS CHARACTER SET CODE 를 십진수로 반환

     


     BIT_LENGTH (str) str 의 비트수를 반환
      

     BYTE_LENGTH (str)

     OCTET_LENGTH (str)

     LENGTHB (str)

     str 의 바이트수를 반환
       CHAR_LENGTH (str)
     CHARACTER_LENGTH (str)
     LENGTH (str)

     str 의 문자수를 반환

      

     INSTR (str, substr)

     str 의 substr 을 찾아 위치를 반환
      

     POSITION (str1 in str2)

     str2 에서 str1 을 찾아서, 찾은 첫번째 위치를 반환
     

     DATETIME

     ADDDATE (expr, days)

     DATE_ADD (date, INTERVAL expr )

     days 를 expr 에 더하여 반환

      

     ADDTIME (expr1, expr2)

     expr2 를 expr1 에 더하여 반환

      

     ADD_MONTHS (date, number)

     date 에 number 만큼의 달을 더하여 반환

      

     DATEADD (part, number, date)

     date 의 지정된 part 에 number 를 더한 값을 반환
      

     DATEDIFF (part, start, end)

     지정된 part 로 end 에서 start 를 뺀 값을 반환
      

     DATE_PART (field, datetime)
     EXTRACT (field from datetime)

     입력한 datetime 에서 지정된 field 값을 반환

      

     LAST_DAY (date)

     date 에 포함된 월의 마지막 날짜를 반환
      

     NEXT_DAY (date, char)

     date 를 지나 처음으로 도래하는 요일의 날짜를 반환

      

     SYS_EXTRACT_UTC (datetime)

     datetime 의 UTC 값을 반환

      GENERAL COMPARISON

     GREATEST ( expr1 [, ..])

     expr 중 가장 큰 값을 반환

      

     LEAST (expr1 [, ..]

     expr 중 가장 작은 값을 반환
      CONVERSION TO_CHAR 
      

     TO_DATE

     
       TO_NATIVE_DOUBLE 
       TO_NATIVE_REAL 
       TO_NUMBER 
      

     TO_TIME

     
       TO_TIMESTAMP 
       TO_TIMESTAMP_TZ 
      

     TO_TIMESTAMP_WITH_TIME_ZONE

     
      

     TO_TIME_TZ

     
      

     TO_TIME_WITH_TIME_ZONE

     
      CONDITIONAL

     CASE2 (condition, result [, ..])

     순서대로 condition 을 평가하여 result 를 반환

      

     DECODE (expr, cexpr,, result [, ..])

     expr 과 cexpr 이 동일한 경우 result 를 반환
     

     NULL-RELATED

     COALESCE (expr1, [..]) expr 중 null 이 아닌 첫번째 expr 를 반환
       NULLIF (expr1, expr2)

     expr1 과 expr2 가 같으면 null 을, 같지 않으면 expr1 을 반환

      

     NVL (expr1, expr2)

     expr1 이 null 이 아니면 expr1 을, null 이면 expr2 를 반환

       NVL2 (expr1, expr2, expr3)

     expr1 이 null 이 아니면 expr2 를, null 이면 expr3 을 반환

     

     ROWID-RELATED

     (STANDALONE)

     ROWID_OBJECT_ID (rowid)

     OBJECT ID 를 반환
      

     ROWID_TABLESPACE_ID (rowid)

     TABLESPACE ID 를 반환

      

     ROWID_PAGE_ID (rowid)

     PAGE ID 를 반환

      

     ROWID_ROW_NUMBER (rowid)

     ROW NUMBER 를 반환
      ROWID_RELATED
     (CLUSTER)
     ROWID_GRID_BLOCK_ID (rowid) GRID BLOCK ID 를 반환
      

     ROWID_GRID_BLOCK_SEQ (rowid)

     GRID BLOCK SEQUENCE 를 반환

      

     ROWID_MEMBER_ID (rowid)

     MEMBER ID 를 반환
       ROWID_SHARD_ID (rowid)

     SHARD ID 를 반환

      ENCRYPTION

     DECRYPT_STR (text, key)

     key 로 암호화된 text 를 복호화한 결과를 반환

       DIGEST (date, type)

     date 를 입력한 type 으로 hash 한 결과를 반환

       ENCRYPT_STR (text, key) key 로 평문 text 를 암호화한 결과를 반환
      

     FROM_BASE64 (str)

     str 을 입력을 받아 디코딩된 binary string 을 반환

      

     TO_BASE64 (str)

     str 을 base64 인코딩으로 변환한 문자를 반환

      SYSTEM INFORMATION CLOCK_DATE

     함수 호출시마다 현재 DATE 를 반환

      

     CLOCK_LOCALTIME

     함수 호출시마다 TZ 이 없는 현재 TIME 을 반환

       CLOCK_LOCALTIMESTAMP

     함수 호출시마다 TZ 이 없는 현재 TIMESTAMP 를 반환

       CLOCK_TIME 함수 호출시마다 TZ 이 있는 현재 TIME 을 반환
      

     CLOCK_TIMESTAMP

     함수 호출시마다 TZ 이 있는 현재 TIMESTAMP 를 반환
      

     CURRENT_CATALOG

     DATABASE 명을 반환

       CURRENT_DATE
     STATEMENT_DATE

     하나의 SQL 문장 내에서 동일한 현재 DATE 를 반환

       CURRENT_SCHEMA 사용자의 현재 SCHEMA 를 반환
      

     CURRENT_TIME
     STATEMENT_TIME

     SYSTIME

     하나의 SQL 문장 내에서 동일한 현재 TIME 을 반환
      

     CURRENT_TIMESTAMP

     STATEMENT_TIMESTAMP

     SYSTIMESTAMP

     하나의 SQL 문장 내에서 동일한 현재 TIMESTAMP 를 반환
       CURRENT_USER

     현재 사용자를 반환

      

     CURRVAL (sequence)

     시퀀스 객체의 현재 값을 반환
       DUMP (expr) expr 의 내부 표현정보를 반환
       LAST_IDENTITY_VALUE

     현재 세션의 IDENTITY COLUMN 을 위해 자동 생성한 최근 값을 반환

       LOCALTIME
     STATEMENT_LOCALTIME

     세션 시간을 기준으로 현재 TIME 을 반환

       LOCALTIMESTAMP
     STATEMENT_LOCALTIMESTAMP

     세션 시간을 기준으로 현재 TIMESTAMP 를 반환

      

     LOCAL_GROUP_ID

     질의를 받아 수행하는 SERVER 의 CLUSTER GROUP ID 를 반환
       LOCAL_GROUP_NAME

     질의를 받아 수행하는 SERVER 의 CLUSTER GROUP NAME 을 반환

       LOCAL_MEMBER_ID

     질의를 받아 수행하는 SERVER 의 CLUSTER MEMBER ID 를 반환

      

     LOCAL_MEMBER_NAME

     질의를 받아 수행하는 SERVER 의 CLUSTER MEMBER NAME 을 반환
       LOGON_USER 로그인 사용자를 반환
      

     NEXTVAL (sequence)

     시퀀스 객체의 다음 값을 반환
       ROWNUM ROW 에 대해 1부터 순차적으로 번호를 부여하여 반환
       SESSION_ID

     현재 세션 ID 를 반환

       SESSION_SERIAL

     현재 세션 SERIAL 을 반환

      

     SESSION_USER

     세션 사용자를 반환

       STATEMENT_VIEW_SCN 현재 STATEMENT 의 VIEW SCN 을 반환

      STATEMENT_VIEW_SCN_DCN

     현재 STATEMENT 의 VIEW SCN 의 DCN 을 반환

       STATEMENT_VIEW_SCN_GCN 현재 STATEMENT 의 VIEW SCN 의 GCN 을 반환
       STATEMENT_VIEW_SCN_LCN

     현재 STATEMENT 의 VIEW SCN 의 LCN 을 반환

       TRANSACTION_DATE

     트랜잭션 내에서 동일한 현재 DATE 를 반환

       TRANSACTION_LOCALTIME 트랜잭션 내에서 동일한 TZ 없는 현재 TIME 을 반환
       TRANSACTION_LOCALTIMESTAMP

     트랜잭션 내에서 동일한 TZ 없는 현재 TIMESTAMP 를 반환

       TRANSACTION_TIME 트랜잭션 내에서 동일한 TZ 있는 현재 TIME 을 반환
       TRANSACTION_TIMESTAMP

     트랜잭션 내에서 동일한 TZ 있는 현재 TIMESTAMP 를 반환

       USER_ID

     현재 사용자의 NUMBER ID 를 반환

       VERSION 제품의 VERSION 을 반환
     AGGERGATE  COUNT (expr)

     expr 이 null 이 아닌 row 의 개수를 반환

       SUM (expr) expr 의 합을 반환
       AVG (num) num 의 평균값을 반환
       MIN (expr) expr 중 최소값을 반환
       MAX (expr) expr 중 최대값을 반환



    함수 사용법



    gSQL> SELECT COUNT(*) FROM DUAL; COUNT(*) -------- 1 1 row selected.


    댓글 0

Designed by Tistory.