sql >> Database teknologi >  >> RDS >> Mysql

hvordan vælger man max af blandet streng/int kolonne?

HKL9 (streng) er større end HKL15 , fordi de sammenlignes som strenge. En måde at håndtere dit problem på er at definere en kolonnefunktion, der kun returnerer den numeriske del af fakturanummeret.

Hvis alle dine fakturanumre starter med HKL , så kan du bruge:

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

Det tager invoice_number eksklusive de 3 første tegn, konverterer til int og vælger max fra det.



  1. Hibernate:hvad er forskellen mellem MySQLDialect og MySQLInnoDBDialect?

  2. Sådan kører du flere MySQL-forekomster på samme maskine

  3. Hvordan konverterer man et helt MySQL-databasetegnsæt og sortering til UTF-8?

  4. Cyklusdetektion med rekursiv subquery factoring