2011-08-17 10 views
7

bigintに格納できる最大値をハードコーディングせずに取得する方法はありますか?bigintで表される最大値

この値を返す/保持する関数または定数がありますか?

答えて

7

答えはthis similar questionで提供されています。私が知る限り、あなたが探している答えをプログラムで見つける方法はありません。

別の回答に投稿したコメントに基づいて、複数の場所ではなく、1か所で値を変更するだけで済みます。

+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

Ref .: int, bigint, smallint, and tinyint (Transact-SQL)

+1

bigintは常に8バイトになります。常に。 –

+0

このbigintで正確に何をしていますか? –

+7

@Corovei - 既存のデータ型を変更する前に 'HUGEint'のような新しいデータ型を追加します。 – JNK

3

また、最大のbigint値を返す簡単なユーザー定義関数を作成できます。dbo.maxbigint()を:あなたが好きな場所そして、あなたはそれを呼び出すことによって、それを使用することができます

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

を。

関連する問題