📜  sql 十进制到 2 位 - SQL (1)

📅  最后修改于: 2023-12-03 14:47:37.439000             🧑  作者: Mango

SQL 十进制到 2 位

SQL 中的十进制数值类型可以存储任意精度的小数值,但是有时候需要将数值截断为两位小数。本篇文章将介绍如何将 SQL 中的十进制数值类型保留两位小数。

ROUND 函数

ROUND 函数可以将十进制数值保留指定的小数位数,语法如下:

ROUND(number, decimals)

其中,number 是要进行舍入的十进制数值,decimals 是要保留的小数位数。如果 decimals 为 0,则 number 将被舍入到最接近的整数。

例如,以下 SQL 语句将十进制数值 3.1415926535 舍入为小数点后两位的数值 3.14:

SELECT ROUND(3.1415926535, 2);

输出结果:

3.14
CAST 函数

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 列中。