COUNT()函数使用时数据溢出-->COUNT_BIG

来源:互联网 发布:对json进行url编码 编辑:程序博客网 时间:2024/06/05 23:02

COUNT_BIG

本文属于网上资料收集:

  • COUNT()函数使用时数据溢出是因为超出了其存储范围

介绍

————————————

COUNT_BIG 的使用与 COUNT 函数相似。
它们之间的唯一差别是它们的返回值:

  • COUNT_BIG 总是返回 bigint 数据类型值
  • 而 COUNT 则总是返回 int 数据类型值

语法

COUNT_BIG ( { [ ALL | DISTINCT ] expression } | * )

参数

  • ALL

对所有的值进行聚合函数运算。ALL 是默认设置。

  • DISTINCT

指定 COUNT_BIG 返回唯一非空值的数量。

  • expression

一个表达式,其类型是除 uniqueidentifiertextimagentext 之外的任何类型。不允许使用聚合函数和子查询。

注意:
[expression][1]指定应该计算所有行以返回表中行的总数。
COUNT_BIG(*) 不需要任何参数,而且不能与 DISTINCT 一起使用。
COUNT(*) 函数不需要 expression 参数,因为根据定义,该函数不使用有关任何特定列的信息。
COUNT_BIG(*) 返回指定表中行的数量而不消除副本。它对每行分别进行计数,包括含有空值的行。

  • 返回值类型

bigint

  • 注释

COUNT_BIG(*) 返回组中项目的数量,这些项目包括 NULL 值和副本。
COUNT_BIG(ALL expression) 对组中的每一行都计算 expression 并返回非空值的数量。
COUNT_BIG(DISTINCT expression) 对组中的每一行都计算 expression 并返回唯一非空值的数量。


扩展

使用整数数据的精确数字数据类型。

  • bigint

从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

  • int

从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。

  • smallint

从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。

  • tinyint

从 0 到 255 的整型数据。存储大小为 1 字节。

如上述整形取值范围,当统计条数超过21.5亿时,应使用COUNT_BIG()

原创粉丝点击