我想在SQL server中存储一个表示百分比的值,首选哪种数据类型?

推荐答案

十进制(p,s)和数字(p,s)

p (precision):

将存储的最大小数位数总数(小数点的左侧和右侧)


s (scale):

The number of decimal digits that will be stored to the right of the decimal point (-> s defines the number of decimal places)


0<;=s<;=P

  • P总位数
  • s小数点右边的位数
  • p-s...小数点左边的位数

Example:

CREATE TABLE dbo.MyTable
( MyDecimalColumn decimal(5,2)
 ,MyNumericColumn numeric(10,5)
);

INSERT INTO dbo.MyTable VALUES (123, 12345.12);

SELECT MyDecimalColumn, MyNumericColumn FROM dbo.MyTable;

结果:

MyDecimalColumn: 123.00 (p=5, s=2)

MyNumericColumn: 12345.12000 (p=10, s=5)

link: msdn.microsoft.com

Sql相关问答推荐

为主表中的每一行查找N个最新行

Oracle SQL对列进行汇总并在列表底部显示总计

如何查询一个名称是根据PL/pgSQL函数结果构建的表?

如何解决Error:operator is not unique:unknown—unknown在一个动态SQL查询?""""

SUM(条件)在Oracle?

转换表中的数据

从依赖于其他表的值的XREF表中的值分组获得正确的计数?

SQL SELECT MOST NEST TIMESTAMP BEAT ORDER

嵌套Json对象的SQL UPDATE WHERE

组合2个分区表的postgres视图的执行计划正在访问所有分区

Grafana SQL 模板变量(值、文本)

在 SQL Server 中合并两个 XML 列

Postgresql - 如何根据阈值计算累积和

删除每个不同日期中未 Select 的最短最长时间

SQL Server: 将JSON对象数组转换为表格格式

计算 SQL 中的总体成功率:递归 CTE 还是替代方法?

添加一列并根据其他列值进行填充

我需要遍历权重值表并确定每个权重是否有效

Postgres 条件求和函数

使用 JSON_BUILD_OBJ 从 Postgres 返回 JSON