W cenniku w tabeli, kolumna zawierająca cenę może zawierać liczbę, bądź inne znaki określające w pewien sposób status ceny. Tak więc kolumna jest typu varchar. Musi to być realizowane w jednej kolumnie, bo tak w tym wypadku jest raczej najwygodniej. Problem pojawia się przy sortowaniu - kiedy chcę sprawdzić która cena jest najniższa. Pole ceny jest typu varchar, więc sortowanie jest alfanumeryczne, czyli cena równa 9 jest za ceną 10 czy np. 89, a powinna być przed. Jak to wykonać w najprostszy sposób, by w momencie sortowania 9 była przed 10 a nie odwrotnie ? Znaki inne niż liczby nie muszą być wtedy oczywiście brane pod uwagę.. chodzi tylko o to, by widzieć najwyższą bądź najniższą cenę na górze..
Nie chcę sortować tego już po wybraniu danych w samym PHP, nie chcę również tworzyć dwóch kolumn (np. w jednej tylko FLOAT, a w drugiej znaczki..). Najlepiej by było to wykonywane przy zapytaniu w ORDER BY CENA ASC ... może da się jakoś konwertować pole CENA na FLOAT przed sortowaniem w samym zapytaniu ? A jeśli tak, to jak ?
A przy okazji, istnieje jakiś typ pola w bazie danych do przechowywania cen ? Coś innego niż zmiennoprzecinkowe, tak jak np. w Excelu walutowe ?