Est-il possible de combiner l'instruction CASE
et l'opérateur LIKE
dans une instruction MySQL SELECT
? Par exemple, j'essaie d'interroger une base de données qui stocke des données dans une seule colonne dans l'un des deux formats (c'est horrible et me fait mal à la tête, mais je ne peux pas changer les données pour qu'elles soient ce qu'elles sont). . Donc parfois la colonne numbers
aurait des données comme "6901xxxxxxxx" et parfois il aurait des données comme "91xxxxxxxxxxx".Cas MySQL dans l'instruction Select avec l'opérateur LIKE
Ce que je voudrais faire est interroger les données comme si -
SELECT
CASE digits
WHEN LIKE "6901%" THEN substr(digits,4)
WHEN LIKE "91%" THEN substr(digits,2)
END as "digits",
FROM raw
Cela ne fonctionne évidemment pas, mais Im espérant son possible.
+1: Le format 'CASE colonne WHEN ...' est seulement bon pour les correspondances exactes; devez utiliser ce format pour des correspondances partielles. –
Ding ding ding, mauvaise forme de cas. Merci beaucoup les gars, mon bureau/front sont reconnaissants. – HurnsMobile
Merci. La syntaxe est précise –