Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

ĐẶT HÀNG BẰNG cho các giá trị tiền tệ

Bạn cần hai cột:

  • một cho giá trị, một float / double (hoặc một số nguyên) có thể được sắp xếp, được sử dụng trong các phép toán như tính tổng, v.v.
  • một cho đơn vị tiền tệ (một ký tự (3) tuân theo tiêu chuẩn ISO 4217 ) được sử dụng cho các mục đích khác (hiển thị, có thể chuyển đổi, v.v.)

Việc lưu trữ cả giá trị và ký hiệu bên trong một varchar là vô nghĩa, đặc biệt là vì vị trí của ký hiệu tiền tệ khác nhau giữa các quốc gia (có thể ở đầu hoặc cuối), có thể có một khoảng cách giữa ký hiệu và giá trị, hoặc không, v.v.

Điều đó đang được nói, nếu bạn không muốn thay đổi bảng của mình, một cái gì đó tương tự có thể hoạt động:

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. xóa hàng cuối cùng trong bảng bằng cách sử dụng truy vấn sql?

  2. Truy vấn Rails 3 với điều kiện có số lượng liên kết

  3. 2 Hàm trả về Tên tháng từ Ngày trong MySQL

  4. MySQL đếm tất cả bên ngoài giới hạn

  5. Lợi ích của việc tạo Thủ tục lưu trữ trong SQL và MySQL là gì?