SQL에서 사용되는 기초 함수들로 웬만하면 외우도록 하자..!


CONCAT

  • 컬럼별 문자열 값들을 하나로 합칠때 사용.
  • 괄호안 문자열을 결합.

예제

  • products 테이블의 컬럼값.

products 테이블

category와 name을 합친 열을 반환할 때.

SELECT CONCAT(category, '-', name) as comb_name -- 카테고리 컬럼과 네임 컬럼을 '-' 로 합침.[카테고리-네임]
FROM products
WHERE 1=1
LIMIT 3 -- 3개만 반환.

결과값


SUBSTRING

문자열에서 일부분만 추출할때 사용.

  • SELECT SUBSTIRING(컬럼명 , 시작 위치, 추출 길이)
  • 예제)
    • 이름컬럼에서 1번째 부터 2번째 문자만 추출 할 때.

products 테이블

SELECT SUBSTRING(name,1,2) as sub_string--이름에서 1번째 글자부터 2번째 글자까지 추출.
FROM products
WHERE 1=1

결과값

  • LEFT, RIGHT도 비슷한 함수.
    • LEFT
      • 문자열 왼쪽에서 부터 추출길이만큼 추출.
      • 구문 : SELECT LEFT(컬럼명,추출길이)
    • RIGHT
      • 문자열 우측에서 부터 추출길이만큼 추출.
      • 구문 : SELECT RIGHT(컬럼명,추출길이)

UPPER, LOWER

문자열을 대문자, 소문자로 변환하는 함수

  • 사용처
    • 검색결과 값을 (대소문자) 통일 후 검색량을 집계할때 대소문자를 통한 집계오류를 막을 수 있음.

CHAR_LENGTH

문자열 길이를 추출.

  • SELECT CHAR_LENGTH(name)
    • 이름의 글자 수를 반환.

올림 반올림

ROUND

반올림을 해줌.

ROUND(컬럼명,1) - 소수점 두번째에서 반올림.


CEIL

올림을 해줌.


FLOOR

내림을 해줌


TRUNCATE

특정 자릿수 밑은 제거.


ABS

절대값을 출력해주는 함수.


MOD

나머지를 구하는 함수.

  • 실무 사용처
    • 특정 숫자의 배수인지 검사할때 사용.
      • 상품코드는 5의 배수로 작성된다고 할 때 MOD를 사용해서 나머지가 0인지 확인.

POW

제곱근을 해주는 함수

  • 구문 : POW(x, y) x의 y승을 구해 줌.

GREATEST

함수안에 들어온 인자들 중 최대값을 구해줌.

LEAST

함수안에 들어온 인자들 중 최소값을 구해줌


COALESCE

컬럼값이 NULL이라면 대체 값을 설정.

  • 구문 : COALESCE(컬럼, 비어있다면 대체할 값)
  • 이름이 비어있다면 “Unknown”으로 대체!
    • SELECT COALESCE (name, “Unknown”)
  • 문자열 대신 컬럼을 넣을 수 있음.
    • 그럼 같은 열에있는 컬럼값이 비어있는곳으로 대체됨.
    • 예시)

가격표 테이블

종류이름가격평균 가격
장난감팽이10001000
과자새우칩500800
놀이도구비눗방울NULL800

위와 같은 테이블이 있다고 했을때.

비눗방울의 가격 NULL값을 놀이도구 평균가격으로 대체하려면!

SELECT COALESCE(가격, 종류_평균 가격)
FROM 가격표 테이블
WHERE 1=1

요렇게 해주면 비눗방울 가격 컬럼에 800원이 오게 된다.

0개의 댓글