2013-04-22 3 views
0

У меня есть случай заявление что-то вроде этого:Проблема понимания заявление Case

CASE 
    WHEN purpose = "" THEN SET @sPurpose = "%%" 
    WHEN purpose IS NULL THEN SET @sPurpose = "%%" 
    ELSE SET @sPurpose = concat("%",purpose,"%"); 
END; 

, но когда я пытаюсь скомпилировать процедуру, она бросает эту ошибку:

SQL Error: You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right syntax to use near 
'WHEN purpose IS NULL THEN SET @sPurpose = "%%" ELSE SET @sPurpose = co' at line 13 

я просто не хватает некоторых синтаксическая вещь?

ответ

4

Вот правильный способ сделать это,

SET @sPurpose = CASE 
        WHEN purpose = "" THEN "%%" 
        WHEN purpose IS NULL THEN "%%" 
        ELSE concat("%",purpose,"%") 
       END; 
+1

Это было в конечном итоге работает. большое спасибо! – smarble

+0

@smarble приветствуется ': D' –

Смежные вопросы