SQL함수

Lee kyu min·2024년 2월 24일

SQL

목록 보기
5/11

1. 문자함수

1) UPPER(문자열) : ()안 문자 모두 대문자 변환
2) LOWER(문자열) : ()안 문자 모두 소문자 변환
3) INTCAP(문자열) : ()안 문자 첫글자는 대문자, 나머지는 소문자 변환
4) LENGTH(문자열) : 문자열 길이 반환
5) SUBSTR(문자열, 시작위치, 추출 길이) : 해당 문자열 시작 위치부터 길이만큼 일부 추출
(0부터 시작 X 1부터 시작, 시작위치 음수 -> 문자열 뒷번호부터 역순)
6) INSTR(문자열, 찾는 문자 부분, 문자열 검색 시작 위치(기본값 1), 찾는 문자가 몇번째인지(기본값 1) ) : 문자열 안에 특정 문자열이 몇번째 포함되어있는지 반환
7) REPLACE(문자열, 찾는문자, 변경할 문자) -> 문자열 내 특정 문자를 다른 문자로 변경
8) LPAD(문자열, 자릿수, 빈공간에 넣을 문자) : 문자열 길이가 지정한 자릿수보다 작은 경우 왼쪽에 특정 문자로 채움(기본값 공백)
RPAD(문자열, 자릿수, 빈공간에 넣을 문자) : 문자열 길이가 지정한 자릿수보다 작은 경우 오른쪽에 특정 문자로 채움(기본값 공백)
9) CONCAT(문자열1, 문자열2) : 문자열1문자열2를 합침
10) TRIM( 삭제할 문자 FROM 문자열 ) : 문자열내 해당 문자 삭제

2. 숫자함수

1) ROUND(숫자, 반올림 위치) : 해당 위치(0 -> 소수점 첫째자리) 숫자 반올림
2) TRUNC(숫자, 위치) : 해당 위치 숫자 버림
3) CEIL(숫자) : 해당 숫자보다 큰 정수
4) FLOOR(숫자) : 해당 숫자보다 작은 정수
5) MOD(숫자1, 숫자2) : 숫자1을 숫자2로 나눌 때 나머지

3. 날짜함수

1) SYSDATE -> 현재 날짜와 시간 반환

SELECT SYSDATE

2) ADD_MONTHS(날짜, 더할 개월 수) : 해당 날짜에서 더할 개월 수 만큼 지난 날짜
2) MONTHS_BETWEEN(날짜1, 날짜2) : 날짜1 - 날짜2 만큼의 개월 수 차이
3) NEXT_DAY(날짜, 요일) : 해당 날짜 이후 돌아오는 요일 날짜
4) LAST_DAY(날짜) : 해당 날짜가 속한 달의 마지막 날짜

* 날짜 데이터는 ROUND, TRUNC 함수 사용이 가능

4. 형변환

1) TO_CHAR(날짜 OR 숫자 , 출력형태) : 날짜, 숫자데이터를 문자 데이터로 변환

SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') //2024/02/24 13:09:30
SELECT SAL, TO_CHAR(SAL, '$999,999')	// SAL 800 -> $800

2) TO_NUMBER(문자열, 출력형태) : 문자열을 숫자데이터로 변환
3) TO_DATE(문자열, 출력형태) : 문자열을 날짜 데이터로 변환

4)출력형태

  • 날짜
    CC : 세기
    YYYY : 연(4자리)
    YY : 연(2자리)
    MM : 월(2자리)
    DD : 일(2자리)
    DAY : 요일
  • 시간
    HH24 : 24시 표기 시간
    HH : 12시 표기 시간
    MI : 분
    SS : 초
    AM, PM, A.M., P.M. : 오전, 오후 표시
  • 숫자
    9 : 숫자 한자리
    0 : 빈자리 0으로 채움
    $ : 달러 붙여서 출력
    L : 지역 화폐단위 기호 붙여서 출력
    . : 소수점 표시
    , : 천 단위 구분기호 표시

5. NULL처리 함수

  • 데이터가 NULL이면 연산 수행이 안될 수 있다

NVL(NULL여부 검사할 데이터, 데이터가 NULL일 경우 반환 데이터)

해당 열 데이터가 NULL이 아니면 그대로, NULL이면 지정한 반환값 출력

6. 조건문

1) DECODE

DECODE( 검사열,
		조건1, 데이터가 조건1이 참일 경우 반환할 결과
        조건2, 데이터가 조건2가 참일 경우 반환할 결과
        ...
        위 조건 중 일치할 경우가 없을 경우 반환할 결과)

2) CASE

* CASE문은 각 조건식의 true, false 여부만 검사하여 기준 데이터가 없어도 사용 가능한 만큼 DECODE 함수보다 범용성이 좋다

CASE 검사열,
	 WHEN 조건1 THEN 데이터가 조건1이 참일 경우 반환할 결과
     WHEN 조건2 THEN 데이터가 조건2가 참일 경우 반환할 결과
     ...
     ELSE 위 조건 중 일치할 경우가 없을 경우 반환할 결과
END

0개의 댓글