Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como selecionar o máximo de coluna mista de string/int?


HKL9 (string) é maior que HKL15 , porque eles são comparados como strings. Uma maneira de lidar com seu problema é definir uma função de coluna que retorne apenas a parte numérica do número da fatura.

Se todos os seus números de fatura começarem com HKL , então você pode usar:
SELECT MAX(CAST(SUBSTRING(invoice_number, 4, length(invoice_number)-3) AS UNSIGNED)) FROM table

Ele pega o invoice_number excluindo os 3 primeiros caracteres, converte em int e seleciona o máximo dele.