максимальное значение, представленное bigint - PullRequest
7 голосов
/ 17 августа 2011

Есть ли способ получить максимальное значение, которое можно сохранить в bigint, без его жесткого кодирования?

Существует ли функция или константа, которая возвращает / содержит это значение?

Ответы [ 3 ]

16 голосов
/ 17 августа 2011

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 и tinyint (Transact-SQL)

8 голосов
/ 17 августа 2011

См. Ответ в этот похожий вопрос . Насколько я знаю, нет способа программно найти искомый ответ.

На основании комментариев, которые вы разместили в другом ответе, это позволит вам изменять ваши значения только в одном месте, а не в нескольких местах.

3 голосов
/ 17 августа 2011

Вы также можете создать простую пользовательскую функцию, которая возвращает значение max bigint:

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

Тогда вы можете использовать его где угодно, вызывая его: dbo.maxbigint().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...