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

come selezionare il massimo di colonne miste stringa/int?

HKL9 (stringa) è maggiore di HKL15 , perché vengono confrontati come stringhe. Un modo per affrontare il tuo problema è definire una funzione di colonna che restituisca solo la parte numerica del numero di fattura.

Se tutti i numeri di fattura iniziano con HKL , quindi puoi utilizzare:

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

Prende il numero_fattura esclusi i primi 3 caratteri, lo converte in int e seleziona il massimo da esso.