带bigint的SqlDbType参数的大小

本文关键字:参数 SqlDbType bigint | 更新日期: 2023-09-27 18:23:42

为bigint参数指定的大小是多少?

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

或者可以完全省略指定尺寸吗?

带bigint的SqlDbType参数的大小

SQL Server Integer Data类型INT、TINYINT、SMALLINT或BIGINT都有特定的Range和所需的固定存储空间。

在Sql Server中,当使用这些数据类型时,我们不能通过定义大小来限制存储这些数据类型所需的范围或空间。

有关这些数据类型的大小和范围的更多信息,请查看此处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  ║
╚═══════════╩══════════════════════════════════════════════════════════════════════════╩═════════╝

更正为命令创建整数类型参数时不需要指定大小

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