Trong cơ sở dữ liệu MySQL của tôi, tôi có trường DECIMAL (23,5), vì vậy 5 chữ số sau dấu thập phân. Bây giờ, khi tôi sẽ truy vấn như thế này:Mysql thập phân: sàn thay vì vòng
UPDATE my_table SET my_decimal_field = 123.123456789 WHERE id = 1
Và sau đó tôi sẽ lấy đó kỷ lục:
SELECT id, my_decimal_field FROM gijhars WHERE id = 1
tôi nhận được kết quả này:
+------+------------------+
| id | my_decimal_field |
+------+------------------+
| 5733 | 123.12346 |
+------+------------------+
Vì vậy, tất nhiên, MySQL là làm tròn các giá trị này, nếu chúng có nhiều hơn 6 chữ số sau dấu thập phân. Có bất kỳ cài đặt nào trong MySQL, để sàn các giá trị này thay vì làm tròn không?
http://dev.mysql.com/doc/refman/5.6/en/fixed-point-types.html _When một cột đó được gán một giá trị với nhiều chữ số sau dấu thập phân hơn là permi tted theo quy mô quy định, giá trị được chuyển đổi sang quy mô đó. (Hành vi chính xác là hệ điều hành cụ thể, nhưng nhìn chung hiệu ứng là cắt ngắn đến số chữ số cho phép.) _ –
Không thể sử dụng http://dev.mysql.com/doc/refman/5.0/en/mathematical- functions.html # function_floor? –
Có, tôi có thể, chỉ tò mò nếu nó có thể được thực hiện bởi cấu hình, bởi vì tôi cần hành vi này trong toàn bộ ứng dụng. –