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

Tắt ký hiệu khoa học MySQL

Có thể bạn đang tìm kiếm FORMAT hoặc ​​ROUND chức năng:

Sử dụng FORMAT() , tùy thuộc vào ngôn ngữ của bạn và nhu cầu cụ thể của bạn, bạn có thể phải thay thế dấu phân cách hàng nghìn :

mysql> SELECT FORMAT(9.755046187483832e17,0);
975,504,618,748,383,200

mysql> SELECT REPLACE(FORMAT(9.755046187483832e17,0), ',','');
975504618748383200

Mặt khác, ROUND() là một số chức năng, nó chỉ xuất ra chữ số :

mysql> SELECT ROUND(9.755046187483832e17,0);
975504618748383200

Xem http://sqlfiddle.com/#!2/d41d8/17614 để chơi với nó.

CHỈNH SỬA: Như bạn đã nhận thấy, hai chữ số cuối cùng được làm tròn thành 00 . Đó là do DOUBLE giới hạn độ chính xác. Bạn phải nhớ rằng đôi gần đúng . Nếu bạn cần các giá trị chính xác và / hoặc nhiều chữ số hơn khả dụng với độ chính xác 16 bit là gấp đôi, bạn có thể cần thay đổi loại cột của mình thành DECIMAL . Theo mặc định DECIMAL có độ chính xác 10 chữ số (10 cơ số 10 chữ số). Bạn có thể yêu cầu tối đa 65 chữ số một cách rõ ràng.

Ví dụ:nếu bạn cần độ chính xác lên đến 20 chữ số, bạn viết đại loại như vậy:

CREATE TABLE tbl (myValue DECIMAL(20), ...

Xem http://dev.mysql.com/ doc / refman / 5.6 / en / fixed-point-styles.html

Tuy nhiên, xin lưu ý rằng mọi thứ không không thật đơn giản. Việc chọn cột thập phân có thể chuyển nó thành double (hoặc bigint ?) do đó làm mất độ chính xác bổ sung. Bạn có thể phải ép kiểu thành chuỗi một cách rõ ràng để duy trì độ chính xác đầy đủ. Điều đó có nghĩa là bạn có thể phải giải quyết vấn đề đó ở cấp ứng dụng.

create table tbl (dblValue DOUBLE, decValue DECIMAL(20,0));
insert into tbl values (975504618748383289, 975504618748383289);

SELECT dblValue, decValue FROM tbl;
--> DBLVALUE            DECVALUE
--> 975504618748383200  975504618748383200

SELECT CAST(dblValue AS CHAR), CAST(decValue AS CHAR) FROM tbl;
--> CAST(DBLVALUE AS CHAR)  CAST(DECVALUE AS CHAR)
--> 9.755046187483832e17    975504618748383289

Xem http://sqlfiddle.com/#!2/d5f58/2 để làm ví dụ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuẩn bị câu lệnh MySQL INSERT / UPDATE với các giá trị DEFAULT

  2. Giá trị múi giờ máy chủ 'CEST' không được công nhận

  3. Sử dụng hộp kiểm HTML để đặt 1 hoặc 0 vào bảng MySQL

  4. MySQL CASE hoạt động như thế nào?

  5. làm thế nào để lấy ngẫu nhiên câu hỏi từ cơ sở dữ liệu?