Hope Tôi sẽ không Offtopic về bài đăng đầu tiên của tôi, nhưng tôi muốn mở rộng một chút trên Đúc các số nguyên để chuỗi như một số người trả lời có vẻ sai.
Bởi vì biểu thức trong truy vấn này sử dụng toán tử số học (dấu cộng +), MySQL sẽ chuyển đổi bất kỳ chuỗi nào trong biểu thức thành số.
Để chứng minh, sau đây sẽ tạo ra kết quả 6:
SELECT ' 05.05 '+'.95';
String nối trong MySQL đòi hỏi sự CONCAT() chức năng như vậy không có sự nhập nhằng ở đây và MySQL chuyển đổi chuỗi để nổi và thêm chúng với nhau.
Tôi thực sự cho rằng lý do truy vấn ban đầu không hoạt động có nhiều khả năng là do biến $ điểm không thực tế được đặt thành các điểm hiện tại của người dùng. Nó được đặt thành 0 hoặc không được đặt: MySQL sẽ truyền một chuỗi rỗng về 0. Để minh hoạ, thông tin sau sẽ trả về 0:
SELECT ABS('');
Như tôi đã nói, tôi hy vọng tôi không quá chủ đề. Tôi đồng ý rằng Daan và Tomas có những giải pháp tốt nhất cho vấn đề cụ thể này.
Tôi đã có một vấn đề tương tự sau đó nhận ra loại mặc định của trường là 'NULL', thay đổi nó thành 0 và tất cả đều tốt. – Azmeer