Ga naar inhoud

Blog

MySQL - Natural Sort op een VARCHAR kolom

Als je een getal in een VARCHAR kolom wilt sorteren via ORDER BY dan is dit waarschijnlijk het resultaat:

1,11,2,20

Het is wenselijk dat deze op de onderstaande manier gesorteerd worden:

1,2,11,20

Oplossing

SELECT kolom FROM tabel ORDER BY kolom + 0 SELECT kolom FROM tabel ORDER BY CONVERT(kolom, DECIMAL) SELECT kolom FROM tabel ORDER BY CAST(kolom, DECIMAL) SELECT kolom FROM tabel ORDER BY LENGTH(kolom)