Maison > Article > base de données > mysql avancé (8) comment trier le type varchar
Comment trier les types varchar dans MySQL
mise à niveau asc
ordre décroissant desc
Dans MySQL, l'ordre par défaut ne peut trier que les nombres et les types de date, mais pour Le tri des types de caractères varchar semble inutile. Je vais maintenant vous présenter comment résoudre le problème de tri des types varchar.
J'ai découvert un problème intéressant aujourd'hui lors du tri de la table des numéros de téléphone nationaux. Je voulais que le champ isdcode soit trié de petit à grand, alors je l'ai écrit comme ceci
SELECT * FROM gb_country_isdcode ORDER BY isdcode asc
Le résultat. est le suivant. J'ai trouvé que ce n'était pas le résultat que je voulais. Le tri asc était correct, j'ai donc cherché et cherché et recherché et j'ai finalement trouvé la raison
isdcode est pour le type varcher ; n'est évidemment pas possible d'utiliser asc directement pour le tri. Il doit être converti en type int et ensuite il peut être trié normalement tant que isdcode 0 suffit
Donc c'est écrit comme ça
SELECT * FROM gb_country_isdcode ORDER BY (isdcode+0) ascIl semble que les données que vous souhaitez soient relativement volumineuses. . Mais pourquoi 0 est-il bien ? Il s'avère qu'après 0, le type INT est converti et trié. De cette façon, vous pouvez trier par taille.
SELECT * FROM table_name ORDER BY CONVERT(column_name USING gbk);Je l'ai essayé dans MySQL et le résultat a été très satisfaisant.