Cas… Quand avec des chaînes dans mysql
Question
Bonjour, j'aimerais avoir une requête du genre
Select
case column1
when column2 like '%Test%' then column 3
else 0
end
FROM myTable
dans la colonne 2, des varchars sont stockés. Est-ce que quelqu'un peut m'aider avec ça?
La solution
Cela n’a pas beaucoup de sens. Pourquoi faites-vous un cas sur column1 mais ignorez complètement cette valeur par la suite? Vous venez de copier et de (w) coller cela dans votre requête?
Quoi qu'il en soit, voici ce à quoi je m'attendrais dans n'importe quel SGBDR ordinaire:
case
when colum2 like ...then
3
else
0
end as abc
Cependant, tout ce que je sais de mySQL, c’est qu’il fait habituellement tout ce que votre RDMS Joe ne ferait normalement.
Autres conseils
Voulez-vous dire quelque chose comme ...
Select column3 from myTable where column2 like '%Test%'
union all
select 0 from myTable where column2 not like '%Test%'
Notez que le " pas comme & " l'opérateur peut être lent
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow