ORDER BY IF( annee REGEXP ‘^[0-9]{4}$’, 0, 1) ASC, annee ASC
(avec mySQL)
Sinon tu dois pouvoir faire le même genre de trucs avec par exemple PostGreSQL (faut que je le teste, maintenant qu’il traîne sur mon dur, et qu’il est ouvert là)
je sais pas comment marche le if sous mysql, mais
est ce que ce serait pas mieux ça ? :
(d un point de vue perf, un seul order by, et la regexp est plus simple)
ORDER BY IF( annee REGEXP ‘^[^0-9]’, 3012, annee) ASC
Non. Car le tri par année n’est pas conservé là je force le trie par année (ie: ça conserve le tri 2001 … 2005), et si c’est pour tester que le premier caractère autant se servir de SUBSTRING & BETWEEN