Du behöver två kolumner:
- en för värdet, en float/dubbel (eller ett heltal) som kan beställas, användas i operationer som summor, etc.
- en för valutan (ett tecken(3) som följer ISO 4217-standarden ) används för andra ändamål (visning, kanske konvertering, etc.)
Att lagra både värde och symbol inuti en varchar är meningslöst, speciellt eftersom valutasymbolens position varierar från land till land (kan vara i början eller i slutet), kan det finnas ett mellanslag mellan symbolen och värdet, eller inte, etc.
Som sagt, om du inte vill ändra din tabell kan något sådant fungera:
ORDER BY CAST(
REPLACE(REPLACE(REPLACE(thecolumn,'$',''),'£',''),'₹','')
AS DECIMAL(10,2)
)