Vấn đề:
Bạn muốn chuyển đổi một giá trị số nguyên thành kiểu dữ liệu DECIMAL trong SQL Server.
Hãy chuyển đổi một số nguyên thành kiểu dữ liệu DECIMAL.
Giải pháp 1:
Chúng tôi sẽ sử dụng CAST()
hàm số. Đây là truy vấn bạn sẽ viết:
SELECT CAST(12 AS DECIMAL(7,2) ) AS decimal_value ;
Đây là kết quả:
decimal_value |
---|
12,00 |
Thảo luận:
Sử dụng CAST()
hàm chuyển đổi một số nguyên sang kiểu dữ liệu DECIMAL. Hàm này nhận một biểu thức hoặc một tên cột làm đối số, theo sau là từ khóa AS và kiểu dữ liệu mới. Trong ví dụ của chúng tôi, chúng tôi đã chuyển đổi một số nguyên (12) thành một giá trị thập phân (12,00). Giá trị được hiển thị có hai dấu thập phân vì DECIMAL trong CAST()
có hai dấu thập phân.
SQL Server cung cấp một tùy chọn khác:CONVERT()
. Đây không phải là một hàm Chuẩn SQL như CAST()
. Truy vấn dưới đây cho thấy công dụng của nó.
Giải pháp 2:
Đây là một cách khác để chuyển đổi một số nguyên thành một loại DECIMAL:
SELECT CONVERT(DECIMAL(7,2),12 ) AS decimal_value ;
Truy vấn này tạo ra kết quả giống như CAST()
, nhưng cần hai đối số bắt buộc:kiểu dữ liệu và một biểu thức, giá trị hoặc tên cột để chuyển đổi. Tham số thứ ba tùy chọn chỉ định cách định dạng giá trị trong kiểu mới của nó. Đọc thêm về định dạng giá trị trong tài liệu SQL Server chính thức.
Nếu bạn không cần trả lại giá trị ở một định dạng nhất định, hãy sử dụng CAST()
.