Hướng dẫn mysql change column type to decimal - mysql thay đổi loại cột thành thập phân

23

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi là người mới bắt đầu trong MySQL và tôi đã vô tình tạo một bảng với một cột có tên

[price decimal[2,2]];

Nó cần phải là

ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
0 để cho phép 4 chữ số. Vì tôi đã tạo nó, cách dễ nhất để cập nhật giá trị thập phân đó lên
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
0 là gì? Hay tôi cần phải thả hoàn toàn cột đó và tạo lại nó với các số chính xác?

Jon Schneider

24.3K21 Huy hiệu vàng140 Huy hiệu bạc165 Huy hiệu đồng21 gold badges140 silver badges165 bronze badges

Đã hỏi ngày 4 tháng 11 năm 2013 lúc 17:12Nov 4, 2013 at 17:12

ValleyDigitalValleyDigitalValleyDigital

1.4104 Huy hiệu vàng20 Huy hiệu bạc37 Huy hiệu đồng4 gold badges20 silver badges37 bronze badges

ALTER TABLE mytable MODIFY COLUMN mycolumn newtype

example:

ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]

Đã trả lời ngày 4 tháng 11 năm 2013 lúc 17:17Nov 4, 2013 at 17:17

Eduardo Denniseduardo DennisEduardo Dennis

13.3K13 Huy hiệu vàng79 Huy hiệu bạc105 Huy hiệu Đồng13 gold badges79 silver badges105 bronze badges

Chỉ

ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
2 với lệnh
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
3:

ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]

Điều này sẽ cho phép 2 số thập phân và 2 số đầy đủ [lên đến

ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
4]. Nếu bạn muốn có 4 số đầy đủ, hãy sử dụng
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
5 thay thế [cho phép tối đa
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
6].

Đã trả lời ngày 4 tháng 11 năm 2013 lúc 17:15Nov 4, 2013 at 17:15

1

Đây không phải là vấn đề 'cập nhật', vấn đề thay đổi cấu trúc bảng của bạn. Đối với điều đó, sử dụng bảng thay đổi với mệnh đề

ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
3:

ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];

Bản demo SQLfiddle

Đã trả lời ngày 4 tháng 11 năm 2013 lúc 17:16Nov 4, 2013 at 17:16

Filipe Silvafilipe SilvaFilipe Silva

20,8K5 Huy hiệu vàng 50 Huy hiệu bạc67 Huy hiệu Đồng5 gold badges50 silver badges67 bronze badges

sử dụng thay đổi

ALTER TABLE table_name CHANGE OLD_COLUMN_NAME OLD_COLUMN_NAME datatype;

một ví dụ

ALTER TABLE table_name CHANGE price price decimal[4,2];

Đã trả lời ngày 26 tháng 12 năm 2016 lúc 12:44Dec 26, 2016 at 12:44

Dennydennydenny

1.9942 Huy hiệu vàng14 Huy hiệu bạc19 Huy hiệu đồng2 gold badges14 silver badges19 bronze badges

1

Bạn có thể thay đổi nó một cách linh hoạt:-

ALTER TABLE ".$row["table_name"]." MODIFY ".$row1["Field"]." decimal[".$rdataType[0].",".$increaseValue."]

Để biết thêm thông tin:

Kho

Rohit Gupta

3,53312 Huy hiệu vàng26 Huy hiệu bạc40 Huy hiệu đồng12 gold badges26 silver badges40 bronze badges

Đã trả lời ngày 21 tháng 6 lúc 12:33Jun 21 at 12:33

NazmulnazmulNazmul

12 Huy hiệu bạc3 Huy hiệu Đồng2 silver badges3 bronze badges

Tóm tắt: Trong hướng dẫn này, chúng tôi sẽ giới thiệu cho bạn loại dữ liệu thập phân MySQL và cách sử dụng nó một cách hiệu quả trong bảng cơ sở dữ liệu của bạn.: in this tutorial, we will introduce you to the MySQL DECIMAL data type and how to use it effectively in your database table.

Giới thiệu về kiểu dữ liệu thập phân MySQL

Kiểu dữ liệu thập phân MySQL được sử dụng để lưu trữ các giá trị số chính xác trong cơ sở dữ liệu. Chúng tôi thường sử dụng kiểu dữ liệu thập phân cho các cột & nbsp; bảo tồn độ chính xác chính xác, ví dụ: dữ liệu tiền trong các hệ thống kế toán.

Để xác định một cột có kiểu dữ liệu là thập phân, bạn sử dụng cú pháp sau:

column_name  DECIMAL[P,D];

Code language: SQL [Structured Query Language] [sql]

Trong & nbsp; cú pháp ở trên:

  • P là độ chính xác đại diện cho số chữ số quan trọng. Phạm vi của P là 1 đến 65.
  • D là tỷ lệ đại diện cho số chữ số sau điểm thập phân. Phạm vi của D là 0 và 30. MySQL yêu cầu D nhỏ hơn hoặc bằng [

ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
8 có nghĩa là cột có thể lưu trữ lên các chữ số P với d & nbsp; số thập phân. Phạm vi thực tế của cột thập phân phụ thuộc vào độ chính xác và tỷ lệ.

Bên cạnh từ khóa

ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9, bạn cũng có thể sử dụng
ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
0,
ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
1 hoặc
ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
2 vì chúng là từ đồng nghĩa với
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9.

Giống như kiểu dữ liệu INT, loại

ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9 & nbsp; cũng có các thuộc tính
ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
5 và
ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
6. Nếu chúng ta sử dụng thuộc tính & nbsp; ________ 35, cột có
ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
8 sẽ không chấp nhận các giá trị âm.

Trong trường hợp chúng tôi sử dụng

ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
6, MySQL sẽ đệm giá trị hiển thị bằng 0 & nbsp; Up để hiển thị chiều rộng được chỉ định bởi định nghĩa cột. Ngoài ra, nếu chúng ta sử dụng
ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
0 cho cột
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9, MySQL sẽ tự động thêm & NBSP; ____ 35 35 vào cột.

Ví dụ sau đây xác định cột số lượng với kiểu dữ liệu

ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9.

amount DECIMAL[6,2];

Code language: SQL [Structured Query Language] [sql]

Trong ví dụ này, cột số lượng có thể lưu trữ 6 chữ số với 2 số thập phân; Do đó, phạm vi của cột số tiền là từ 9999,99 đến -9999,99.

MySQL cho phép chúng tôi sử dụng cú pháp sau:

ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
0

Điều này tương đương với:

ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
1

Trong trường hợp này, cột không chứa phần phân số hoặc dấu thập phân.

Ngoài ra, chúng tôi thậm chí có thể sử dụng cú pháp sau.

ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
2

Giá trị mặc định của p là 10 trong trường hợp này.

Lưu trữ thập phân MySQL

MySQL chỉ định lưu trữ cho các bộ phận số nguyên và phân số riêng biệt. MySQL sử dụng định dạng nhị phân để lưu trữ các giá trị

ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9. Nó đóng gói 9 chữ số thành 4 byte.

Đối với mỗi phần, phải mất 4 byte để lưu trữ mỗi bội số 9 chữ số. Bộ lưu trữ cần thiết cho các chữ số còn sót lại được minh họa trong bảng sau:

Chữ số còn sót lạiByte
0 0
1 trận21
3 trận42
5 trận63
7 trận94

Ví dụ,

ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
5 có 9 chữ số cho phần phân số và 19-9 = 10 chữ số cho phần số nguyên. Phần phân số yêu cầu 4 byte. Phần nguyên yêu cầu 4 byte cho 9 chữ số đầu tiên, cho 1 chữ số còn lại, nó yêu cầu thêm 1 byte. Tổng cộng, cột
ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
5 yêu cầu 9 byte.

Kiểu dữ liệu thập phân MySQL và dữ liệu tiền tệ

Chúng tôi thường & nbsp; sử dụng kiểu dữ liệu

ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9 cho dữ liệu tiền tệ như giá cả, tiền lương, số dư tài khoản, v.v. Nếu bạn thiết kế cơ sở dữ liệu xử lý dữ liệu tiền tệ, cú pháp sau sẽ ổn.

ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
3

Tuy nhiên, nếu bạn muốn tuân thủ các quy tắc nguyên tắc kế toán được chấp nhận chung [GAAP], cột tiền tệ phải có ít nhất 4 vị trí thập phân để đảm bảo rằng giá trị làm tròn không vượt quá 0,01 đô la. Trong trường hợp này, bạn nên xác định cột với 4 vị trí thập phân như sau:

ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
4

Đầu tiên, tạo một bảng mới có tên

ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
8 với ba cột: ID, mô tả và chi phí.

ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
5

Thứ hai, chèn dữ liệu vào bảng

ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
9.

ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
6

Thứ ba, dữ liệu truy vấn từ bảng

ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
9.

ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
7Fourth, thay đổi cột chi phí để bao gồm & nbsp; thuộc tính
ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
6.

Fourth, change the cost column to include  the

ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
6 attribute.

ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
8

Thứ năm, truy vấn bảng vật liệu một lần nữa.

ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
7a bạn thấy, chúng ta có nhiều số không được đệm trong các giá trị đầu ra.

As you see, we have many zeros padded in the output values.

Trong hướng dẫn này, chúng tôi đã hiển thị & nbsp; đã cung cấp cho bạn thông tin chi tiết về kiểu dữ liệu thập phân MySQL và chỉ cho bạn cách áp dụng nó vào các cột lưu trữ dữ liệu số chính xác như dữ liệu tài chính.

Hướng dẫn này có hữu ích không?

Làm cách nào để chuyển đổi một số thành số thập phân trong mysql?

MySQL tham gia thập phân:..
Cast Bare Integer đến thập phân: Chọn Cast [9 dưới dạng thập phân [4,2]]; // In 9.00 ..
Các số nguyên đúc 8/5 đến thập phân: Chọn Cast [8/5 dưới dạng thập phân [11,4]]; // In 1.6000 ..
Chuỗi đúc thành thập phân: Chọn Cast [". 885" dưới dạng thập phân [11,3]]; // In 0,885 ..

Làm cách nào để thay đổi kiểu dữ liệu của một cột trong MySQL?

MySQL cho phép một lệnh thay đổi định nghĩa cột như tên và loại theo nhu cầu của chúng tôi ...
Thay đổi bảng bảng_name ..
Sửa đổi cột cột_name1 data_type,.
Sửa đổi cột cột_name2 data_type ......

Làm cách nào để thay đổi độ chính xác của một cột trong SQL?

Chỉ cần đặt thập phân [độ chính xác, tỷ lệ], thay thế độ chính xác và tỷ lệ bằng các giá trị mong muốn của bạn.Tôi đã không thực hiện bất kỳ thử nghiệm nào với điều này với dữ liệu trong bảng, nhưng nếu bạn thay đổi độ chính xác, bạn sẽ bị mất dữ liệu nếu độ chính xác mới thấp hơn.put decimal[precision, scale] , replacing the precision and scale with your desired values. I haven't done any testing with this with data in the table, but if you alter the precision, you would be subject to losing data if the new precision is lower.

Loại thập phân trong MySQL là gì?

Các loại thập phân và số lưu trữ các giá trị dữ liệu số chính xác.Các loại này được sử dụng khi điều quan trọng là duy trì độ chính xác chính xác, ví dụ với dữ liệu tiền tệ.Trong MySQL, số được thực hiện dưới dạng thập phân, vì vậy các nhận xét sau đây về số thập phân áp dụng như nhau cho số.store exact numeric data values. These types are used when it is important to preserve exact precision, for example with monetary data. In MySQL, NUMERIC is implemented as DECIMAL , so the following remarks about DECIMAL apply equally to NUMERIC .

Bài Viết Liên Quan

Chủ Đề