Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

ORDER BY untuk nilai mata uang

Anda membutuhkan dua kolom:

  • satu untuk nilai, float/double (atau integer) yang dapat diurutkan, digunakan dalam operasi seperti penjumlahan, dll.
  • satu untuk mata uang (a char(3) mengikuti standar ISO 4217 ) digunakan untuk tujuan lain (tampilan, mungkin konversi, dll.)

Menyimpan nilai dan simbol di dalam varchar tidak masuk akal, terutama karena posisi simbol mata uang bervariasi dari satu negara ke negara lain (bisa di awal atau di akhir), mungkin ada spasi antara simbol dan nilainya, atau tidak, dll.

Karena itu, jika Anda tidak ingin mengubah tabel Anda, sesuatu seperti itu bisa berhasil:

ORDER BY CAST(
  REPLACE(REPLACE(REPLACE(thecolumn,'$',''),'£',''),'₹','')
  AS DECIMAL(10,2)
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Gabungkan kueri di beberapa basis data yang terletak di server yang berbeda

  2. mysql ujung depan, menghapus baris

  3. Pembaruan SQL dari tabel Nama acak

  4. Bagaimana saya bisa memeriksa apakah ada tabel MySQL dengan PHP?

  5. phpMyAdmin melempar #2002 tidak dapat masuk ke server mysql phpmyadmin