Maison  >  Article  >  base de données  >  Comment puis-je trier les colonnes VARCHAR contenant des nombres dans MySQL en tant que vraies valeurs numériques ?

Comment puis-je trier les colonnes VARCHAR contenant des nombres dans MySQL en tant que vraies valeurs numériques ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-29 22:20:29316parcourir

How can I sort VARCHAR columns containing numbers in MySQL as true numeric values?

Tri numérique des chaînes Varchar dans MySQL

Lors de la gestion des données dans une base de données relationnelle, il est souvent nécessaire de trier les valeurs en fonction de leur contenu numérique . Cependant, si des valeurs numériques sont stockées sous forme de chaînes dans une colonne VARCHAR, MySQL risque de ne pas effectuer le tri correctement. Cet article explore une solution pour trier les colonnes VARCHAR contenant des nombres comme de vraies valeurs numériques.

Problème :

Comment pouvons-nous trier une colonne de type VARCHAR qui stocke des valeurs numériques comme chaînes, telles que « 17.95 », « 199.95 » et « 139.95 », comme nombres réels dans MySQL ?

Solution :

Pour trier les chaînes VARCHAR contenant des nombres comme valeurs numériques, on peut utiliser la technique suivante :

  • Multipliez la colonne VARCHAR par 1 à l'aide de l'expression "string_column * 1".
<code class="sql">SELECT *
FROM tbl
ORDER BY string_column * 1</code>

Cette opération convertit la Chaîne VARCHAR en un type de données numérique, permettant à MySQL d'effectuer le tri correctement.

Avantages de l'utilisation de * 1 :

Au-delà de l'activation du tri numérique des chaînes VARCHAR, en multipliant par 1 offre plusieurs autres avantages :

  • Résilience : Il peut tolérer les problèmes de sous-verse qui peuvent survenir lors du casting.
  • Tolérance : Cela fonctionne pour les colonnes contenant à la fois des données numériques et non numériques, en ignorant les parties non numériques.
  • Gestion alphanumérique : Il extrait les parties numériques des chaînes alphanumériques, telles que '123A', ' 124A' et '125A'.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn