Home 6. 단일 행 함수
Post
Cancel

6. 단일 행 함수

오라클 데이터베이스는 다양한 내장 SQL 함수를 제공한다.

  • 단일 행 함수 - 단일 행을 입력받아 단일 행을 반환하는 함수
  • 집계 함수 - 다중 행을 입력받아 단일 행을 반환하는 함수
  • 분석 함수 - 다중 행을 입력받아 다중 행을 반환하는 함수
  • 모델 함수 - MODEL 절에서 사용하는 함수

단일 행 함수는 다음과 같이 구분된다. 문자 함수, 숫자 함수, 날짜 함수, 변환 함수, 널 관련 함수, 비교 함수, 인코딩 디코딩 함수, 환경 식별자 함수, 계층 함수, 컬렉션 함수, XML 함, JSON 함수

6.1 문자 함수

  • CHR - CHR(n) n에 해당하는 데이터베이스 캐릭터 셋의 문자 값을 반환한다.
  • LOWER - char를 소문자로 변경한다.
  • UPPER - char를 대문자로 변경한다.
  • INITCAP - INITCAP(char) char에 포함된 단어의 첫 글자는 대문자, 나머지는 소문자로 변경한다.
  • LPAD - LPAD(expr1, n [,expr2]) expr1의 길이를 좌측으로 n만큼 늘린 후, 늘어난 공간을 expr2로 반복해서 채운다.
  • RPAD - RPAD(expr1, n [,expr2]) expr1의 길이를 우측으로 n만큼 늘린 후, 늘어난 공간을 expr2로 반복해서 채운다.
  • LTRIM - LTRIM(char [, set]) char의 좌측부터 set에 포함된 문자를 제거한다.
  • RTRIM - RTRIM(char [, set]) char의 우측부터 set에 포함된 문자를 제거한다.
  • TRIM - TRIM([{{LEADINGTRAILINGBOTH}[trim_character]trim_character} FROM] trim_source) trim_source의 좌측 또는 우측이나 양측에서 trim_character를 제거한다.
  • SUBSTR - SUBSTR(char, position [, substring_length]) char를 position 위치에서 우측으로 substring_length 만큼 자른다. substring_length 생략시 끝까지 자르고 음수의 경우 끝에서 좌측으로 음수만큼 이동한 위치에서 우측으로 자른다.
  • REPLACE - REPLACE(char, search_string [, replacement_string]) char에 포함된 search_string을 replacement_string으로 변경한다.
  • TRANSLATE - TRANSLATE(expr, from_string, to_string) expr 문자와 일치하는 from_string 문자를 대응하는 위치의 to_string 문자로 변환한다.
  • ASCII - ASCII(char) char의 아스키값을 십진수로 반환한다.
  • INSTR - INSTR(string, substring [, position [, occurrence]]) string의 position에서 우측으로 occurrence번째 substring의 시작 위치를 반환한다.
  • LENGTH - LENGTH(char) char의 길이를 반환한다.

6.2 숫자 함수

  • ABS - 절대 값을 반환한다.
  • SIGN - SIGN(n)의 부호를 반환한다. n이 양수면 1, 음수면 -1, 0이면 0
  • ROUND(number) - ROUND(n1[,n2]) n1을 n2자리로 반올림한다.
  • TRUNC(number) - TRUNC(n1[,n2]) n1을 n2자리로 버린다.
  • CEIL - CEIL(n) n보다 크거나 같은 정수의 최소값을 반환한다.
  • FLOOR - FLOOR(n) n보다 작거나 같은 정수의 최대값을 반환한다.
  • MOD - MOD(n1, n2) n1을 n2로 나눈 나머지를 반환한다. n2가 0이면 n1을 반환한다.
  • REMAINDER - REMAINDER(n1, n2) n1을 n2로 나눈 나머지를 반환한다. n2가 0이면 에러가 발생한다.
  • POWER - n1을 n2로 거듭제곱한 값을 반환한다.
  • BITAND - exp1, exp2의 비트 AND 연산 값을 반환한다.
  • WIDTH_BUCKET - WIDTH_BUCKET(expr, min_value, max_value, num_bucket)

6.3 날짜 함수

  • SYSDATE - 서버의 날짜 값을 DATE 타입으로 반환한다.
  • SYSTIMESTAMP - 소수점 이하 초가 포함된 데이터베이스 서버의 날짜 값을 TIMESTAPM WITH TIME ZONE 타입으로 반환한다.
  • NEXT_DAY - date이후 char에 지정된 요일에 해당하는 가장 가까운 날짜 값을 반환한다.
  • LAST_DAY - date가 속한 월의 월말일을 반환한다.
  • ADD_MONTHS - date에서 integer의 개월 수를 가감한 날짜 값을 반환한다.
  • MONTHS_BETWEEN - date1과 date2 사이의 개월 수를 반환한다.
  • EXTRACT - EXTRACT({YEARMONTHDAYHOURMINUTESECOND} FROM expr) expr에서 날짜 정보를 추출한다.
  • ROUND - ROUND(date) fmt를 기준으로 date를 반올림한다.
  • TRUNC - TRUNC(date) fmt를 기준으로 date를 버린다.

6.4 변환 함수

변환 함수는 값의 데이터 타입을 다른 데이터 타입으로 변환하는 함수다.

  • TO_CHAR(number) - TO_CHAR(n[,fmt [, ‘nlsparm’]]) 숫자 값 n을 fmt 형식의 문자 값으로 변환한다.
  • TO_CHAR(datetime) - TO_CHAP({datetimeinterval} [, fmt [, ‘nlsparm’]]) datetime, interval 값을 fmt 형식의 문자 값으로 변환한다.
  • TO_NUMBER - TO_NUMBER(expr [, fmt [, ‘nlsparm’]]) fmt 형식의 expr을 숫자 값으로 변환한다.
  • TO_DATE - TO_DATE(char [, fmt [, ‘nlsparm’]]) fmt 형식의 char를 DATE 값으로 변환한다.
  • TO_TIMESTAPM - TO_TIMESTAPM(char [, fmt [, ‘nlsparm’]]) fmt 형식의 char를 TIMESTAMP 값으로 변환한다.
  • TO_YMINTERVAL - 문자 값을 YEAR TO MONTH 인터벌 값으로 변환한다.
  • TO_DSINTERVAL - 문자 값을 DAY TO SECOND 인터벌 값으로 변환한다.
  • NUMTOYMINTERVAL - n을 YEAR TO MONTH 인터벌 값으로 변환한다.
  • NUMTODSINTERVAL - n을 DAY TO SECOND 인터벌 값으로 변환한다.
  • CASE - CASE(expr AS type_name [, fmt [, ‘nlsparam’]]) expr을 type_name에 지정한 데이터 타입으로 변환한다.
  • VALIDATE_CONVERSION - VALIDATE_CONVERSION(expr AS type_name [, fmt [, ‘nlsparam’]]) expr을 type_name에 지정한 데이터 타입으로 변환할 수 있으면 1, 없으면 0, expr이 널이면 0을 반환한다.

6.5 널 관련 함수

  • NVL - NVL(expr1, expr2) expr1이 null이면 expr2를 반환
  • NVL2 - NVL2(expr1, expr2, expr3) expr1이 null이 아니면 expr2, 널이면 expr3를 반환
  • COALESCE - null이 아닌 첫 번째 expr을 반환
  • NULLIF - NULLIF(expr1, expr2) expr1과 expr2가 다르면 expr1, 같으면 null을 반환

6.6 비교함수

  • LEAST - LEAST(expr [, expr]…) expr 중 최소값을 반환, null이 입력되면 null반환
  • GREATEST - expr 중 최댓값을 반환, null이 입력되면 null반환

6.7 인고팅 디코딩 함수

  • DECODE - DECODE(expr, search, result [, search, result]…[,default]) expr과 search기 일치하면 result, 모두 일치하지 않으면 default를 반환한다.
  • DUMP - DUMP(expr [, return_fmt [, start_position [, length]]]) expr의 데이터 타입과 바이트 길이를 return_fmt 형태로 반환한다.
  • VSIZE - expr의 바이트 크기를 반환
  • ORA_HASH - expr의 해시값을 반환
  • STANDARD_HASH - method에 지정한 해시 알고리즘으로 생성한 expr의 해시 값을 반환한다.

6.8 환경 식별자 함수

  • USER - 로그인한 사용자의 이름을 반환
  • UID - 로그인한 사용자의 ID를 반환
  • SYS_GUID - 전역 고유 식별자를 16바이트 RAW 값으로 반환
  • USERENV - 현재 세션에 대한 정보를 반환
  • SYS_CONTEXT - SYS_CONTEXT(‘namespace’, ‘parameter’ [,length]) - namespace에 속한 parameter 값을 반환
This post is licensed under CC BY 4.0 by the author.