sql >> Databasteknik >  >> RDS >> Mysql

BESTÄLL AV för valutavärden

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)
)


  1. Entity framework 5.0 kod först med MySQL i WPF

  2. Hur får man en primärnyckel att börja från 1000?

  3. Så här korrigerar du "java.sql.SQLFeatureNotSupportedException" när du använder metoden createArrayOf()

  4. ListView Control Tutorial-02