bigint表示的最大值

时间:2011-08-17 12:28:37

标签: sql tsql

有没有办法获得可以存储在bigint中的最大值,而无需对其进行硬编码?

是否有返回/包含此值的函数或常量?

3 个答案:

答案 0 :(得分:15)

bigint总是支持

-2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807)

SQL Server TSQL没有将此定义为常量,但它始终为-2 ^ 63到2 ^ 63 - 1

参考:int, bigint, smallint, and tinyint (Transact-SQL)

答案 1 :(得分:8)

请参阅this similar question中提供的答案。据我所知,没有办法以编程方式找到你正在寻找的答案。

根据您在其他答案中发布的评论,这将允许您只需在一个地方更改您的值,而不是多个地方。

答案 2 :(得分:3)

您还可以创建一个简单的用户定义函数,该函数返回max bigint值:

CREATE FUNCTION maxbigint() RETURNS bigint
AS 
BEGIN
    RETURN CAST(0x7FFFFFFFFFFFFFFF AS bigint)
END
GO

然后,您可以通过调用它来随时随地使用它:dbo.maxbigint()