Caso… quando com strings em mysql
Pergunta
Oi eu quero ter alguma consulta como
Select
case column1
when column2 like '%Test%' then column 3
else 0
end
FROM myTable
Na coluna2, existem varchars armazenados. alguém poderia me ajudar com isso?
Solução
Isso não faz muito sentido. Por que você faz um caso na coluna1, mas ignora completamente esse valor depois? Você acabou de copiar e (w) colar isso em sua consulta?
De qualquer forma, é isso que eu esperaria trabalhar em qualquer um dos RDBMs comuns:
case
when colum2 like ...then
3
else
0
end as abc
No entanto, a única coisa que eu sei do MySQL é que geralmente faz tudo diferente do que o seu Joe RDMS comum faria.
Outras dicas
Você quer dizer algo como ...
Select column3 from myTable where column2 like '%Test%'
union all
select 0 from myTable where column2 not like '%Test%'
Observe que o operador "não gosto" pode ser lento
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow