📅  最后修改于: 2023-12-03 14:47:37.439000             🧑  作者: Mango
SQL 中的十进制数值类型可以存储任意精度的小数值,但是有时候需要将数值截断为两位小数。本篇文章将介绍如何将 SQL 中的十进制数值类型保留两位小数。
ROUND 函数可以将十进制数值保留指定的小数位数,语法如下:
ROUND(number, decimals)
其中,number 是要进行舍入的十进制数值,decimals 是要保留的小数位数。如果 decimals 为 0,则 number 将被舍入到最接近的整数。
例如,以下 SQL 语句将十进制数值 3.1415926535 舍入为小数点后两位的数值 3.14:
SELECT ROUND(3.1415926535, 2);
输出结果:
3.14
CAST 函数可以将十进制数值类型转换为指定的数据类型。在将十进制数值保留两位小数时,可以使用 CAST 函数将数值转换为 DECIMAL(10,2) 类型,该类型可以保留两位小数。
例如,以下 SQL 语句将十进制数值 3.1415926535 转换为 DECIMAL(10,2) 类型的数值:
SELECT CAST(3.1415926535 AS DECIMAL(10,2));
输出结果:
3.14
以下 SQL 语句演示了如何将一个表中的十进制数值保留两位小数并查询:
CREATE TABLE products (
id INT PRIMARY KEY,
name TEXT,
price DECIMAL(10,4)
);
INSERT INTO products (id, name, price) VALUES
(1, 'Product 1', 19.99),
(2, 'Product 2', 29.99),
(3, 'Product 3', 39.99);
SELECT id, name, CAST(price AS DECIMAL(10,2)) AS price_formatted FROM products;
输出结果:
| id | name | price_formatted |
|----|------------|----------------|
| 1 | Product 1 | 19.99 |
| 2 | Product 2 | 29.99 |
| 3 | Product 3 | 39.99 |
以上示例将表格中的 price 列保留两位小数,并将结果存储在 price_formatted 列中。