Какой размер для параметра SqlDbType с bigint?

Какой размер указать для параметра bigint?

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

param.Size = ???

Или можно вообще не указывать размер?


person reformed    schedule 18.09.2014    source источник
comment
Тип данных sql server BIGINT - это 8-байтовый тип данных, и вы не указываете с ним никакого размера.   -  person M.Ali    schedule 19.09.2014
comment
Спасибо. Не могли бы вы дать ответ со ссылкой на эту информацию? Я выберу этот ответ   -  person reformed    schedule 19.09.2014


Ответы (2)


Целочисленные типы данных SQL Server INT, TINYINT, SMALLINT ИЛИ BIGINT имеют определенный диапазон и требуемый фиксированный объем памяти.

В Sql Server при использовании этих типов данных мы не можем ограничить диапазон или пространство, необходимое для хранения этих типов данных, путем определения размера.

Дополнительную информацию о размере и диапазоне этих типов данных см. Здесь _1 _

╔═══════════╦══════════════════════════════════════════════════════════════════════════╦═════════╗
║ 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  ║
╚═══════════╩══════════════════════════════════════════════════════════════════════════╩═════════╝
person M.Ali    schedule 18.09.2014

Правильно, вам не нужно указывать размер при создании параметров целочисленного типа для команды

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