Du skal bruge to kolonner:
- en for værdien, en float/dobbelt (eller et heltal), der kan bestilles, bruges i operationer såsom summer osv.
- én for valutaen (et tegn(3) efter ISO 4217-standard ) bruges til andre formål (visning, måske konvertering osv.)
Det er meningsløst at gemme både værdi og symbol inde i en varchar, især da placeringen af valutasymbolet varierer fra land til land (kan være i begyndelsen eller slutningen), kan der være et mellemrum mellem symbolet og værdien, eller ej osv.
Når det er sagt, hvis du ikke ønsker at ændre dit bord, kan sådan noget fungere:
ORDER BY CAST(
REPLACE(REPLACE(REPLACE(thecolumn,'$',''),'£',''),'₹','')
AS DECIMAL(10,2)
)