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

mysql SUM của trường VARCHAR mà không sử dụng CAST

MySQL thực hiện chuyển đổi im lặng cho một chuỗi trong ngữ cảnh số. Bởi vì nó mong đợi một số cho sum() , MySQL chỉ đơn giản thực hiện chuyển đổi bằng cách sử dụng các "số" hàng đầu từ một chuỗi. Lưu ý rằng điều này bao gồm dấu thập phân, dấu trừ và thậm chí cả e đại diện cho ký hiệu khoa học. Vì vậy, '1e6' được hiểu là một số.

Trong mã, cá nhân tôi sẽ thực hiện chuyển đổi rõ ràng bằng cách thêm 0 :

SELECT SUM(parametervalue + 0) FROM table

Trớ trêu thay, cast() có thể trả về lỗi nếu chuỗi không ở định dạng số, nhưng điều này không trả lại lỗi trong trường hợp đó.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách đặt django và mysql hoạt động với UTF-8

  2. Không thể sửa đổi thông tin tiêu đề

  3. Chuyển đổi tập kết quả MySQL từ hàng thành cột

  4. lấy ra tham số từ thủ tục được lưu trữ mysql trong java

  5. Cách xoay bảng trong MySQL