오늘은 SQL로 문자를 변경하거나 추출, 혹은 합치는 방법을 배우고,
SQL에서 사용할 수 있는 두 가지 조건문을 배웠다.
데이터의 칼럼 내에서 특정 단어들을 변경하고 싶을 때 다음과 같은 변경문을 작성할 수 있다.
replace(칼럼명, '현재값', '바꿀값')
SQL 내의 데이터에서 특정 단어들만 뽑아내고 싶을 때는 다음과 같이 할 수 있다.
substr(칼럼명, 시작위치, 글자 수)
이 때, 시작위치는 첫글자가 1이다. 서울특별시에서 '서울'만 뽑아내고 싶다면 (1, 2)가 될 것이다.
concat(합칠내용1, 합칠내용2, 합칠내용3, ……)
문자를 합칠 때는 concat문을 사용한다.
이 때 괄호 안에 숫자는 그대로 적어도 되지만, 문자를 적을 때는 작은따옴표('')로 묶어준다.
데이터를 다루다보면 data_type이라는 오류를 볼 수 있다고 한다.
이는 숫자처럼 보이는 데이터가 사실 문자포맷을 가지고 있기때문인데,
이럴 때 서로 다른 두 포맷을 바꾸는 방법이 존재한다.
*문자포맷을 숫자포맷으로 바꾸는 방법 :cast as decimal
cast(if(칼럼명='해당문자포맷', '1', 칼럼명) as decimal)
*숫자포맷을 문자포맷으로 바꾸는 방법 :cast as char
cast(칼럼명 as char)
조건이 하나 뿐일 때는 if문을 사용하는 것이 간편하다.
if(조건, 조건이 참일 때 값, 조건이 거짓일 때 값)
조건이 여러 개 일때는 case문을 사용할 수 있다.
case when 조건1 then 조건1이 참일 때 값
when 조건2 then 조건2가 참일 때 값
.
.
else 위의 조건이 모두 거짓일 때 값 end
case문을 사용할 때는 각 줄을 쉼표(,)로 이을 필요가 없다는 점과 마지막에 end를 써서 마무리 해줘야한다는 점을 유의해야한다.
else문은 생략가능하다.
또, case문 안에 if문을 쓸 수 있기도 하다.