Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

dongdorodongdong

함수 본문

SQLD

함수

d5ngs 2019. 10. 24. 14:02

내장함수

  • 특징
    - 데이터 값을 간편하게 조작
    - 함수의 입력 값에 따라 단일행 함수, 다중행 함수로 나뉜다.
    - 입력 값에 상관없이 출력은 하나만 된다. (M:1)

  • 종류
    - 문자형
    - 숫자형
    - 날짜형
    - 변환형
    - NULL 관련

DUAL 테이블
  • 정의
    - Data Dictionary와 함께 Oracle에 의해 자동으로 생성되는 테이블
    - 사용자 SYS의 스키마에 있음 (그래도 모든 사용자가 엑세스 가능)
    - SELECT ~ FROM ~ 의 형식을 갖추기 위한 일종의 DUMMY 테이블 (계산, 사용자 함수 등을 실행하고자 할 경우 유용)
    - 'X'라는 값을 1건 포함

※ Oracle함수 / SQL Server함수


문자형 함수
  • LOWER(문자열)
    - 알파벳 문자를 소문자로 바꾸어 준다.

  • UPPER(문자열)
    - 알파벳 문자를 대문자로 바꾸어 준다.

  • CHR(ASCII번호) / CHAR(ASCII번호)
    - ASCII 코드 번호를 문자나 숫자로 바꾸어 준다.

  • CONCAT(문자열1, 문자열2)
    - 문자열1과 문자열2를 연결한다.

  • SUBSTR(문자열, m, n), SUBSTRING(문자열, m, n)
    - 문자열 중 m위치에서 n개의 문자 길이에 해당하는 문자를 반환
    - n 생략시 마지막 문자까지

  • LENGTH(문자열) / LEN(문자열)
    - 문자열의 갯수를 반환

  • LTRIM(문자열, 지정문자) / LTRIM(문자열)
    - 첫 문자부터 확인해서 지정 문자가 나타나면 해당 문자를 제거
    - 지정 문자가 생략되면 공백 값으로
    - SQL Server는 지정문자X

  • RTRIM(문자열, 지정문자) / RTRIM(문자열)
    - 마지막 문자부터 확인해서 지정 문자가 나타나면 해당 문자를 제거
    - 지정 문자가 생략되면 공백 값으로
    - SQL Server는 지정문자X

  • TRIM(지정문자 FROM 문자열)
    - 양쪽에 있는 지정문자를 제거
    - SQL Server는 지정문자X


숫자형 함수

  • ABS(숫자)
    - 숫자의 절대값을 반환

  • SIGN(숫자)
    - 양수, 음수, 0을 판별한다.

  • MOD(숫자1, 숫자2)
    - 숫자1을 숫자2로 나눈 나머지 값을 반환

  • CEIL(숫자) / CEILING(숫자)
    - 숫자보다 크거나 같은 최소 정수 반환

  • FLOOR(숫자)
    - 숫자보다 작거나 같은 최대 정수 반환

  • ROUND(숫자, m)
    - 숫자를 소수점 m자리에서 반올림
    - m이 생략이되면 0의자리에서 반올림

  • TRUNC(숫자, m)
    - 숫자를 소수m자리에서 잘라 버림
    - m이 생략이되면 0의자리에서 잘라버림
    - SQL Server에서 TRUNC 함수 제공X

  • SIN ,COS, TAN, ...
    - 삼각함수 값 반환

  • EXP(), POWER(), SQRT(), LOG(), LN()
    - 숫자의 지수, 제곱, 제곱근, 로그값, 자연 로그값을 반환

날짜형 함수
  • SYSDATE() / GETDATE
    - 현재 날짜와 시각 출력

  • EXTRACT('YEAR' | 'MONTH' | 'DAY' from d) / DATEPART('YEAR' | 'MONTH' | 'DAY', d)
    - 날짜 데이터에서 년/월/일 데이터를 출력
    - 시간/분/초 데이터도 가능

  • TO_NUMBER(TO_CHAR(d, 'YYYY')) / YEAR(d)
    - 날짜 데이터에서 년/월/일 데이터를 출력



변환형 함수

  • 종류
    - 명시적 변환 : 데이터 변환형 함수로 데이터 유형을 변환하도록 명시해 주는 경우
    - 암시적 변환 : 데이터베이스가 자동으로 유형을 변환하여 계산하는 경우

  • TO_NUMBER(문자열)
    - 문자열을 숫자로 변환
    - Oracle

  • TO_CHAR(숫자 | 날짜, FORMAT)
    - 숫자나 날짜를 주어진 FORMAT 형태로 문자열로 반환
    - Oracle

  • TO_DATE(문자열, FORMAT)
    - 문자열을 주어진 FORMAT 형태로 날짜로 반환
    - Oracle

  • CAST(expressing AS data_type)
    - expressing을 목표 데이터 유형으로 변환
    - SQL Server

  • CONVERT(data_type, expressing)
    - expressing을 목표 데이터 유형으로 변환
    - SQL Server


CASE 표현
  • 정의
    - IF-THEN-ELSE 논리와 유사한 방식으로 SQL의 비교 연산 기능을 보완
    - Oracle의 경우 DECODE 함수 사용 가능

  • CASE 조건 THEN 수행1 ELSE 수행2 END
    - 조건이 맞으면 수행1, 조건이 맞지 않으면 수행2를 수행

  • DECODE(표현식, 기준값1, 값1, 기준값2, 값2..., 디폴트값)
    - 표현식의 값이 기준값1이면 값1을 출력 기분값2이면 값2를 출력
    - 어떤 기준값에도 해당되지 않으면 디폴트값 출력


NULL 관련
  • 특징
    - 아직 정의되지 않은 값으로 0 또는 공백이 아니다.
    - NULL 값을 포함하는 연산의 경우 결과 값은 NULL이다.

  • NVL(표현식1, 표현식2) / ISNULL(표현식1, 표현식2)
    - 표현식1의 값이 NULL이면 표현식2의 값 반환
    - 표현식1의 값이 NULL이 아니면 표현식1의 값 그대로 반환
    - 표현식과 결과 데이터 타입이 같아야 함

  • NULLIF(표현식1, 표현식2)
    - 표현식1과 표현식2가 같으면 NULL
    - 표현식1과 표현식2가 같지 않으면 표현식1

  • COALESCE(표현식1, 표현식2, ....)
    - 임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 반환
    - 모든 표현식이 NULL이면 NULL 반환


'SQLD' 카테고리의 다른 글

JOIN  (0) 2019.10.24
GROUP BY, HAVING, ORDER BY  (0) 2019.10.24
SQL-WHERE  (0) 2019.10.23
SQL-TCL  (0) 2019.10.23
SQL-DML  (0) 2019.10.23