Je hebt twee kolommen nodig:
- één voor de waarde, een float/double (of een geheel getal) die kan worden besteld, gebruikt in bewerkingen zoals sommen, enz.
- een voor de valuta (een char (3) volgens de ISO 4217-standaard ) gebruikt voor andere doeleinden (weergave, misschien conversie, enz.)
Het is onzinnig om zowel waarde als symbool in een varchar op te slaan, vooral omdat de positie van het valutasymbool van land tot land verschilt (kan aan het begin of aan het einde zijn), er kan een spatie tussen het symbool en de waarde staan, of niet, enz.
Dat gezegd hebbende, als je je tafel niet wilt veranderen, zou zoiets kunnen werken:
ORDER BY CAST(
REPLACE(REPLACE(REPLACE(thecolumn,'$',''),'£',''),'₹','')
AS DECIMAL(10,2)
)