240928 SQL 문자포맷 변경과 조건문

물고기가자라면어그로·2024년 9월 28일
0

오늘은 SQL로 문자를 변경하거나 추출, 혹은 합치는 방법을 배우고,
SQL에서 사용할 수 있는 두 가지 조건문을 배웠다.

SQL에서 문자포맷 다루기

문자포맷 변경하기

데이터의 칼럼 내에서 특정 단어들을 변경하고 싶을 때 다음과 같은 변경문을 작성할 수 있다.

replace(칼럼명, '현재값', '바꿀값')

문자포맷 뽑아내기

SQL 내의 데이터에서 특정 단어들만 뽑아내고 싶을 때는 다음과 같이 할 수 있다.

substr(칼럼명, 시작위치, 글자 수)

이 때, 시작위치는 첫글자가 1이다. 서울특별시에서 '서울'만 뽑아내고 싶다면 (1, 2)가 될 것이다.

문자포맷 합치기

concat(합칠내용1, 합칠내용2, 합칠내용3, ……)

문자를 합칠 때는 concat문을 사용한다.
이 때 괄호 안에 숫자는 그대로 적어도 되지만, 문자를 적을 때는 작은따옴표('')로 묶어준다.

문자포맷을 숫자포맷으로 바꾸기 :CAST문

데이터를 다루다보면 data_type이라는 오류를 볼 수 있다고 한다.
이는 숫자처럼 보이는 데이터가 사실 문자포맷을 가지고 있기때문인데,
이럴 때 서로 다른 두 포맷을 바꾸는 방법이 존재한다.

*문자포맷을 숫자포맷으로 바꾸는 방법 :cast as decimal

cast(if(칼럼명='해당문자포맷', '1', 칼럼명) as decimal)

*숫자포맷을 문자포맷으로 바꾸는 방법 :cast as char

cast(칼럼명 as char)

SQL에서 사용하는 조건문

IF문

조건이 하나 뿐일 때는 if문을 사용하는 것이 간편하다.

if(조건, 조건이 참일 때 값, 조건이 거짓일 때 값)

CASE문

조건이 여러 개 일때는 case문을 사용할 수 있다.

case when 조건1 then 조건1이 참일 때 값
    when 조건2 then 조건2가 참일 때 값
   .
   .
    else 위의 조건이 모두 거짓일 때 값 end

case문을 사용할 때는 각 줄을 쉼표(,)로 이을 필요가 없다는 점과 마지막에 end를 써서 마무리 해줘야한다는 점을 유의해야한다.
else문은 생략가능하다.
또, case문 안에 if문을 쓸 수 있기도 하다.

0개의 댓글