개발자공부일기
2024-10-16 본문
업무 필요한 문자 포맷이 다를 때, SQL로 가공하기 (REPLACE, SUBSTRING, CONCAT)
REPLACE: 특정 문자를 다른 것으로 바꿀 수 있는 기능 REPLACE(바꿀 컬럼, 현재 값, 바꿀 값)
SUBSTRING: 특정 문자만 골라서 조회할 수 있는 기능 SUBSTRING(조회 할 컬럼, 시작 위치, 글자 수)
CONCAT: 여러 컬럼의 값을 하나로 합칠 수 있는 기능 CONCAT(붙이고 싶은 값1, 붙이고 싶은 값2, 붙이고 싶은 값3, .....)
붙일 수 있는 문자의 종류
-컬럼
-한글
-영어
-숫자
-기타 특수문자
조건에 따라 포맷을 다르게 변경해야한다면 (IF, CASE)
IF: 원하는 조건에 충족할 때 적용할 방법과 아닌 방법을 지정하는 기능
if(조건, 조건을 충족할 때, 조건을 충족하지 못할 때)
CASE: 각 조건별로 적용 할 값을 지정하는 기능
CASE WHEN 조건1 THEN 값(수식)1
WHEN 조건2 THEN 값(수식)2
ELSE 값(수식)3 END
SQL문에 문제가 없는 것 같은데 왜 오류가 나나요_ (Data Type 오류 해결하기)
우리가 실습하는 Mysql 과 다르게, 다른 SQL 문법에서는 data type 이 다를 때 연산이 되지 않을 수 있습니다. 따라서 문자, 숫자를 혼합하여 함수에 사용 할 때에는 데이터 타입을 변경해주어야 합니다
CAST(column AS DATATYPE)
--숫자로 변경 CAST(if(rating='Not given', '1', rating) AS DECIMAL)
--문자로 변경 concat(restaurant_name, '-', CAST(order_id AS CHAR))
'TIL(Today I Learned)' 카테고리의 다른 글
2024-10-18 (0) | 2024.10.18 |
---|---|
2024-10-17 (0) | 2024.10.17 |
2024-10-15 (0) | 2024.10.15 |
시작하며 (0) | 2024.10.15 |
스타터 노트 (0) | 2024.10.15 |