2009-11-27 3 views
0

Привет Я хочу иметь некоторый запрос, какслучай ... Когда со строками в MySQL

Select 
case column1 
    when column2 like '%Test%' then column 3 
    else 0 
end 
FROM myTable 

в COLUMN2 есть VARCHARS хранятся. Может кто-то помочь мне с этим?

+2

там не так много логики написано в вашем примере. – mauris

+2

Вы должны попробовать и расширить логику, которую вы хотите достичь. –

ответ

1

Это не имеет смысла. Почему вы делаете случай в столбце1, но полностью игнорируете это значение? Вы только что скопировали и (w) вставляете это в свой запрос?

В любом случае, это то, что я ожидал бы работать в любой из обычной РСУБД ':

case 
    when colum2 like ...then 
    3 
    else 
    0 
    end as abc 

Однако, единственное, что я знаю MySql, что он обычно делает все иначе, чем ваш средний Джо RDMS будет делать их.

+0

Это был просто пример, но ваш ответ соответствует моим потребностям, спасибо –

0

ли вы имеете в виду что-то вроде ...

Select column3 from myTable where column2 like '%Test%' 
union all 
select 0 from myTable where column2 not like '%Test%' 

Обратите внимание, что оператор «не нравится» может быть медленным

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