2013-08-12 4 views
2

데이터베이스를 이전 중이며 정수로 된 열을 관련된 범주로 문자열 형식으로 변경해야합니다. ifelse 또는 switch/case/break를 사용하여 각 값을 확인하고 즉시 변경할 수 있습니까?대소 문자를 사용하여 값 변경

SELECT *, Category FROM Members 
    Category = 
    Switch(category) 
    if (value == 1 then change to "Category 1", value == 2 then change to "Category 2 and so on.) 

답변

0

MySQL의 CASE 절에서이를 수행 할 수 있습니다.

UPDATE `Members` 
    Set `Category` = CASE `Value` 
     WHEN '1' THEN 'Category 1' 
     WHEN '2' THEN 'Category 2' 
    END 
WHERE `Value` IN ('1','2'); 

Value = '1' 어떤 모든 행이 이제 Category = 'Category 1'이있을 것이라는 점을 의미한다. 필요한만큼이 쿼리를보다 구체적으로 만들 수 있습니다.

1
SELECT *, case when category = 1 then 'Category 1' 
       when category = 2 then 'Category 2' 
       else 'Category unknown' 
      end as category 
FROM Members 
+0

정말 고마워. – user990717

관련 문제