Database

[Database #14] 함수(Function)

lyndaa 2023. 3. 14. 15:54
  • 연산자
    • 비교 연산자
    • <, >, <=, >= : 크기를 비교
    • = : 같다
    • !=, <> : 같지않다
  • like : 입력한 숫자, 문자가 포함된 정보를 조회할 때 사용하는 연산자
  • '_' : 임의의 한 문자
  • '%' : 몇자리 문자든 관계없이
  • in 연산자
    • in(값1, 값2, 값3, ...)
    • 안에 있는 값 중 하나라도 일치하는 경우 조회
  • 함수 FUNCTION
    • 문자 관련 함수 length / char_length 문자열의 길이를 계산하는 함수 length() : byte의 길이(영어 1, 한글 3) char_lenth : 글자수
    • instr : 주어진 값에서 원하는 문자가 몇번째인지 찾아 반환하는 함수
    • substr : 주어진 문자열에서 특정 부분만 꺼내어 오는 함수
    • LPAD / RPAD : 빈칸을 지정한 문자로 채우는 함수
    • LTRIM / RTRIM : 값으로부터 공백을 찾아 지워주는 함수
    • TRIM : 주어진 문자열에서 양끝을 기준으로 특정 문자를 지워주는 함수
      • LEADING : 앞에서부터 문자만 찾아 지운다.
      • TRAILING : 뒤에서부터 문자를 찾아 지운다.
    • concat : 여러문자열을 하나의 문자열로 합치는 함수
    • REPLACE : 주어진 문자열에서 특정 문자를 변경할때 사용하는 함수
  • 단일 행 함수(single row function)
    • 결과를 찾아 출력할때마다 각 행에 함수가 적용
  • 다중 행 함수(Multiple Row Function)
    • 조건절에 만족하는 모든 행을 다 찾고나서 한번에 연산
  • 그룹 함수(Group Function)
    • sum() : 조건에 맞는 row에서 해당 컬럼들의 합
    • avg() : 평균
    • max() : 최대값
    • min() : 최소값
    • count() : 행의 갯수
  • 날짜 처리 함수
    • sysdate(), now() : 현재 컴퓨터의 날짜를 반환하는 함수
    • 둘다 현재 날짜를 반환하지마 현재라고 하는 기준이 조금 다름
      • now()는 쿼리 실행 시점이 현재 / sysdate() 연산이 될때가 현재
    • 두 날짜 사이의 차
      • datediff() : 단순 일 차이
      • timestampdiff() : 연(year), 월(month), 주(week), 일(day), 시(hour), 분(min), 초(second), 분기(quarter) 등을 지정하여 가져올때
      • extract() : 지정한 날자로부터 값을 추출하는 함수
      • date_format() : 날짜 정보 포맷 변경
      • str_to_date() : 날짜 정보 포맷 변경, 00~69 : 2000년대, 70~99 1900년대로 계산
      • dayofweek(날짜) : 해당 날짜의 요일을 숫자로 구분, 1: 일요일 ~ 7 : 토요일
      • date_add() : 특정 날짜를 기준으로 이후의 날짜
      • date_sub() : 특정 날짜를 기준으로 이전의 날짜
        • date_add(hire_date, interval 1 month)
  • if()
    • java의 3항 연산자
    • () ? 값 1 : 값2;
  • case 문
    • 자바의 if, swtich처럼 사용할 수 있는 함수 표현식
    • 사용방법
      • case
      • when (조건식1) then 결과1
      • when (조건식2) then 결과2
      • end '별칭'
  • 숫자 데이터 함수
    • ABS() : 절대값을 표현
    • mod() : 컬럼이나 값을 나눈 나머지를 반환하는 함수
    • round() : 지정한 숫자를 반올림할 때 사용하는 함수
    • ceil() : 소수점 첫째자리에서 올림
    • floor() : 소수점 이하 자리 숫자 버림
    • truncate() : 지정한 위치까지 숫자를 버리는 함수
  • 형변환 함수
    • date_format() : 날짜 정보를 특정 포맷으로 변경하여 조회
    • cast(), convert() : 주어진 값을 원하는 형식으로 변경
      • select cast(now() as char)
  • select 문의 실행 순서
    • 5 : select 컬럼명, 계산식, 함수식
    • 1 : from 테이블명
    • 2 : where 조건
    • 3 : group by 그룹을 묶을 컬럼명
    • 4 : having 그룹에 대한 조건식, 함수식
    • 6 : order by 컬럼|별칭|순서
  • order by 절
    • select를 통해 조회한 행의 결과를 특정 기준에 맞춰 정렬하는 구문
    • order by 컬럼명 asc / desc;
  • Group By 절
    • 특정 컬럼이나 계산식을 하나의 그룹으로 묶어 한 테이블 내에서 소그룹별로 조회하고자 할때 선언하는 구문
  • Having 구문
    • group by 한 각 소그룹에 대한 조건을 설정 할때 그룹함수와 함께 사용하는 조건 구문

'Database' 카테고리의 다른 글

[Database #16] 제약조건(2), 뷰(view)  (0) 2023.03.15
[Database #15] SUB QUERY  (0) 2023.03.14
[Database #13] SQL  (0) 2023.03.09
[Database #13] 데이터베이스 개요  (0) 2023.03.09