Les besoins les plus simples sont quelques fois compliqués à formuler. Dans notre cas, on demande de lister toutes les commandes dont la référence ne commence pas par un chiffre…Besoin simple demandé par le client mais pas évident à traduire en SQL. Grâce à Firebird, il est possible d’appliquer une expression régulière dans une clause « where ».
select c.code\nfrom dossier_commandes dc\njoin commandes c on c.code = dc.code\njoin archives a on a.code = c.archive\nwhere c.date_cmd >= ’05/01/14’\nand mc.orderno similar to ‘[^[:DIGIT:]]+%’\norder by mc.orderno desc
Cette expression [^[:DIGIT:]]+% permet de matcher tous les orderno ne débutant pas par au moins un digit et suivi par n’importe quel caractère.Puissant non ?