본문 바로가기
카테고리 없음

[TIL]SQL 3주차- subsre, replace, concat, if, case

by Byeong 2024. 3. 30.

 

SQL의 문자 포맷

 

REPLACE 

 replace문은 특정문자를 다른 문자로 바꾸기 위해 사용한다.

SELECT REPLACE(column, 'after', 'befoer')
FROM table

 

선택 칼럼에서 원하는 특정 문자의 after 부분을 befoer부분으로 변경을 해준다.

 

SUBSTR

 subsrt은 원하는 문자를 남기는 경우에 사용한다.

SELECT SUBSTR(column, 1, 2)
FROM table

이런 식으로 사용한다는데 substr( 컬럼 , 문자열 시작 위치, 글자 수) 이런식으로 원하는 문자열 중 어디서 시작할지를 정하고 몇 번째까지 남길 것 인지 설정을 한다. 

 마지막 글자수 부분에 아무것도 입력을 안 하면 마지막 글자까지 남겨 준다.

 

CONCAT

 여러 칼럼의 데이터를 합성이 가능하다.

SELECT CONCAT( 컬럼, 한글, 영어, 숫자, 특수 문자)

 

원하는 내용을 합성해서 출력이 가능하다.

 

 

조건문

 

IF

조건문 if 조건에 따라 다른 방법을 적용하고 싶을 때 사용한다.

지금까지 배운 다양한 연산자나 문자 모펫을 사용해서도 합성이 가능하다.

SELECT if(조건, True, False)

 

이런 식으로 작성하며 다양한 문법을 합성해서도 사용이 가능하다.

 

SELECT if(column in ('감자'), replace(column, '감자', '고구마'), '양파')

 

 

이런 식으로 다양한 하게 조합하여 사용이 가능하지만 복잡 할 수록 내용의 이해도가 높아야 한다.

 

CASE

 if문을 반복적으로 많이 작성해서 사용하는 것보다 case를 사용한다면 when과 then을 사용하여 여래개의 조건을 주며 작성이 가능하다.

SELECT CASE WHEN column1 = 1 THEN '감자'
            WHEN column2 like '2' THEN '고구마'
            ELSE '양파' END

 

이런식으로 다양한 조건을 넣어 사용이 가능하고 카테고리별로 입력이 가능하니 아주 편하게 이용이 가능하다

 

 

 

SQL 데이터 오류 

 

--숫자로 변경
cast(if(rating='Not given', '1', rating) as decimal) 

--문자로 변경
concat(restaurant_name, '-', cast(order_id as char))