What size for a SqlDbType parameter with bigint?

8.8k Views Asked by At

What is the size to specify for a bigint parameter?

SqlParameter param = new SqlParameter("@Param", SqlDbType.Bigint);

param.Size = ???

Or can specifying the size be omitted altogether?

2

There are 2 best solutions below

0
On BEST ANSWER

SQL Server Integer Data types INT, TINYINT, SMALLINT OR BIGINT all has a specific Range and fixed storage space required.

In Sql Server when consuming these data types we cannot limit the range or space required to store these data types by defining a size.

For more information on size and range of these data types have a look here SQL SERVER int, bigint, smallint, and tinyint

╔═══════════╦══════════════════════════════════════════════════════════════════════════╦═════════╗
║ Data type ║                                  Range                                   ║ Storage ║
╠═══════════╬══════════════════════════════════════════════════════════════════════════╬═════════╣
║ bigint    ║ -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807) ║ 8 Bytes ║
║ int       ║ -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647)                         ║ 4 Bytes ║
║ smallint  ║ -2^15 (-32,768) to 2^15-1 (32,767)                                       ║ 2 Bytes ║
║ tinyint   ║ 0 to 255                                                                 ║ 1 Byte  ║
╚═══════════╩══════════════════════════════════════════════════════════════════════════╩═════════╝
0
On

Correct you don't need to specify the size when creating the integer type parameters for the command

Command.Parameters.Add("@p0", SqlDbType.TinyInt)  // omit size, name.