728x90
SUBSTRING_INDEX
문자열을 어느 한 기준으로 갈라줄 때 - substring_index(필드값, '기준', 가져 올 부분)
(파이썬의 split() 함수와 비슷한 느낌)
ex) 이메일 주소에서 아이디 부분만 필요할 때
SELECT SUBSTRING_INDEX(email, '@', 1) from users
ex) 이메일 주소에서 도메인 부분만 필요할 때
SELECT SUBSTRING_INDEX(email, '@', -1) from users
SUBSTRING
문자열 중 일부분만 필요할 때 - substring(필드값, '시작할 위치', '갯수')
(파이썬의 문자열 인덱싱과 비슷한 느낌)
(yyyy-mm-dd tt:mm:ss)를 값으로 갖는 필드값에서
ex) mm-dd 만 가져오기
select substring(created_at,6,5) from orders
ex) mm:ss 만 가져오기
select substring(created_at,15,5) from orders
CASE
경우에 따라 원하는 값을 출력 - CASE when '조건문' then '출력할값' else '조건문에 해당하지 않을 경우 출력할 값' END
(파이썬의 if문과 비슷한 느낌)
ex) 조건이 1개인 경우
select pu.point_user_id, pu.point,
case
when pu.point >= 10000 then '1만 이상'
else '1만 미만'
END as '구분'
from point_users pu
ex) 조건이 여러개인 경우
select pu.point_user_id, pu.point,
case
when pu.point >= 10000 then '1만 이상'
when pu.point >= 5000 then '5천 이상'
else '5천 미만'
END as '구분'
from point_users pu
참고) else가 없는 경우, 조건문에 해당사항이 없으면 NULL 이 출력된다.
728x90
'개발일지 > DataBase' 카테고리의 다른 글
MySQL Null 과 함께 Unique (0) | 2024.05.04 |
---|---|
Mysql 포트 변경 - MacOs M2 (0) | 2023.05.06 |
with (0) | 2022.07.02 |
Subquery (0) | 2022.07.02 |
Union (0) | 2022.07.02 |