본문 바로가기
MySql

MySQL LIKE 연산자를 사용하는 Select 문의 MySQL Case

by 베이스 공부 2020. 11. 10.
반응형

MySQL SELECT 문에서 CASE 문과 LIKE 연산자를 결합 할 수 있습니까?

예를 들어, 두 가지 형식 중 하나로 단일 열에 데이터를 저장하는 데이터베이스를 쿼리하려고합니다 (이는 끔찍하고 머리가 아프지 만 데이터를 그대로 변경할 수 없습니다.). 따라서 때때로 numbers 열에 "6901xxxxxxxx"와 같은 데이터가 있고 "91xxxxxxxxxxx"와 같은 데이터가있는 경우도 있습니다.

내가하고 싶은 것은 데이터를 쿼리하는 것입니다.

SELECT
    CASE digits
      WHEN LIKE "6901%" THEN substr(digits,4)
      WHEN LIKE "91%" THEN substr(digits,2)
    END as "digits",
FROM raw

이것은 분명히 작동하지 않지만 가능하기를 바랍니다.

 

해결 방법

 


SELECT
  CASE
    WHEN digits LIKE '6901%' THEN substr(digits,4)
    WHEN digits LIKE '91%' THEN substr(digits,2)
  END as digits
FROM raw

또한 SELECT 끝에 쉼표가 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/3579760

 

 

반응형

댓글