带定点精度和小数位数的 numeric 金沙js娱乐场官方网站:数据类型,SQL server里的金额表示

decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,定点精度和小数位数,带定点精度和小数位数的 numeric 数据类型,s,) 和 numeric(p,SQL Server里使用Money和smallmoney类型来表示货币类型,SQL server里的金额表示,p 小数点左边和右边数字之和,decimal 数据类型最多可存储 38

20-28

decimal[(*p[, s])] 和
numeric[(
p[, s*])]

p(精度)
最多能够积累的十进制数字的总位数,包蕴小数点左边和侧边的位数(does not
include decimal point卡塔尔。 该精度必需是从 1 到最大精度 38 之间的值。
暗中认可精度为 18。

SQL Server里使用Money和smallmoney类型来代表货币类型,Money是8字节的,smallmoney是4字节的。

create table ta (a float,b decimal(10,5));

13

牢固精度和小数位数。使用最大精度时,有效值从 – 10^38 +1 到 10^38 –
1。decimal 的 SQL-92 同义词是 decdec(*p, s*)

恒定精度和小数位数。 使用最大精度时,有效值的范围为 – 10^38 +1 到 10^38

         SQL Server中的货币类型对应到C#中来能够使用数值类型来表示,重要运用浮点型和decimal类型,精度必要低正是用浮点型,精度要求高便是用Decimal类型。

1、当插入的整数部分的值当先了其代表范围后就直接忽视了小数部分的值,并以最大值填充。

实例

精度 存储字节数
1 – 9 5
10-19 9
20-28 13
29-38 17

SQL Server 会将精度和小数位数的每一个特定组合视为不一致的数据类型。

(1)Money类型

insert into ta (a,b) values(1,123456.1234);

17

  • SQL Server 二〇〇〇 小数类型-decimal 和 numeric
  • SQL Server 二〇〇一 小数类型-float 和
    real
  • SQL Server 二〇〇三 小数类型-使用 decimal、float 和 real
    数据
  • SQL Server 2001小数类型-精度、小数位数和长度

带固定精度和小数位数的数值数据类型。
decimal(p[ ,s]) 和 numeric(p[ ,s])

(2)Decimal类型

复制代码

9


s (小数位数)
小数点左侧能够积存的十进制数字的最大位数。 小数位数必需是从 0 到 p
之间的值。 仅在钦赐精度后才方可钦赐小数位数。 暗中认可的小数位数为
0;因而,0 <= s <= p。 最大存款和储蓄大小基于精度而转换。

结论

校勘a列字段类型: alter table ta change a a numeric(10,5State of Qatar;

代码如下复制代码


  • 1。 decimal 的 ISO 同义词为 dec 和 dec(p、s卡塔尔国。 numeric 在功能上等价于
    decimal。

USE tempdb;

GO

CREATE TABLE Test (num INT PRIMARY KEY, summary MONEY);

GO

SET NOCOUNT ON;

GO

 

— 插入数据到临时表

INSERT INTO Test VALUES (1, $123.45);

GO

INSERT INTO Test VALUES (2, $123123.45);

GO

INSERT INTO Test VALUES (3, CAST(‘$444,123.45’ AS MONEY) );

GO

 

— 插入错误示例,分隔符是字符串类型

INSERT INTO TestMoney VALUES (3, $555,123.45);

GO

SET NOCOUNT OFF;

GO

SELECT * FROM Test;

GO

–返回错误信息

–Msg 213, Level 16, State 1, Line 3

–列名或所提供值的数目与表定义不匹配

decimal(numeric State of Qatar 同义,用于标准存款和储蓄数值 。

29-38

s(小数位数)

在SQL Server中,若是精度(小数点后位数)不明确,平日能够应用Money来代表货币数据,假如小数位数鲜明,可采取decimal类型,从节约空间的角度来看,尽量选取Money

当看到numeric数字
 类型后,大部分都会作为了number,作者也几遍都弄错了。

p

p(精度)

类型

大致范围

精度

.NET Framework 类型

decimal

±1.0 × 10-28 到 ±7.9 × 1028

28 到 29 位有效位

System.decimal

复制代码