MySQL pour correspondre « 12684041234 » au plus long préfixe que vous feriezle plus long préfixe correspondant
SELECT num_prefix
FROM nums
WHERE '12684041234' LIKE CONCAT(num_prefix, '%')
AND LENGTH(num_prefix) = (
SELECT MAX(LENGTH(num_prefix))
FROM nums
WHERE '12684041234' LIKE CONCAT(num_prefix, '%')
)
Table nums
a une colonne nommée num_prefix
avec des valeurs de préfixe.
Comment puis-je le faire dans une ruche?
Je pense que votre requête SQL actuelle n'est pas la plus efficace, car elle nécessitera un scan complet de la table. La performance va-t-elle être un problème? –
@Mark Byers: La performance n'est pas un problème. C'est un travail par lots, la table des préfixes n'est pas grande (quelques centaines), et je peux mettre en cache les résultats si j'ai besoin de – Eyal