Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment sélectionner le maximum de colonne mixte chaîne/int ?

HKL9 (chaîne) est supérieur à HKL15 , car ils sont comparés en tant que chaînes. Une façon de résoudre votre problème consiste à définir une fonction de colonne qui renvoie uniquement la partie numérique du numéro de facture.

Si tous vos numéros de facture commencent par HKL , alors vous pouvez utiliser :

SELECT MAX(CAST(SUBSTRING(invoice_number, 4, length(invoice_number)-3) AS UNSIGNED)) FROM table

Il prend le numéro de facture à l'exclusion des 3 premiers caractères, le convertit en int et en sélectionne max.