por Cesar Cassiano Schimanco

Tipos de dados equivalentes do C# e SQL, valores máximos e mínimos suportados

Abaixo temos uma tabela com tipos de dados equivalentes do SQL e C#.
Com valores máximos e mínimos suportados por cada tipo.
Espero que as informações sejam úteis para descobrir que tipo de dados deverá ser utilizado quando se trabalha com dados vindos do banco de dados. Ou então o tipo de dado mais adequado ou correto a ser utilizado.

SQL Server C# Máximo Mínimo  
BIGINT
SqlInt64
long (Int64)
System.Int64
9,223,372,036,854,775,807 −9,223,372,036,854,775,808  8 bytes
INT
SqlInt32
int (Int32)
System.Int32
2,147,483,647 -2,147,483,648  4 bytes
SMALLINT
SqlInt16
Short (Int16)
System.Int16
32,767 -32,768  2 bytes
TINYINT
SqlByte
byte
System.Byte
255 0  1 byte
BIT
SqlBoolean
bool (Boolean)
System.Boolean
1 0  1 byte
DATETIME
SqlDateTime
DateTime
System.DateTime
(C#) 31/12/9999 23:59:59
(SQL) 31/12/9999 23:59:59
(C#) 1/1/0001 00:00:00
(SQL) 1/1/1753 00:00:00
 8 bytes
DATETIME2*
System.DateTime
DateTime
System.DateTime
 31/12/9999 23:59:59  1/1/0001 00:00:00  
SMALLDATETIME
SqlDateTime
  06/06/2079 23:59:00 01/01/1900 00:00:00  4 bytes
DATE*
 
  0001-01-01 9999-12-31  
TIME(7)*
 
  23:59:59.9999999 00:00:00.0000000  5 bytes
REAL
SqlSingle
Float (Single)
System.Single
3.402823E+38 -3.402823E+38 4 bytes
FLOAT
SqlDouble
Double
System.Double
(C#) 1.79769313486232E+308
(SQL) 1.79E + 308
(C#) -1.79769313486232E+308
(SQL) -1.79E + 308
8 bytes
4-8 bytes
DECIMAL / NUMERIC
SqlDecimal
Decimal
System.Decimal
(C#) 79228162514264337593543950335
(SQL) 10^38–1
(C#) -79228162514264337593543950335
(SQL) -10^38+1
16 bytes /
5-20 bytes
MONEY
SqlMoney
Decimal
System.Decimal
2^63-1 / 10000 -2^63 / 10000 8 bytes
SMALLMONEY
SqlMoney
Decimal
System.Decimal
+214,748.3647 -214,748.3648 4 bytes
TEXT
SqlString
  2,147,483,647 0 número de chars
NTEXT
SqlString
  1,073,741,823 0 2 vezes o número de chars contidos
CHAR
SqlString
  8.000 0 número de chars
NCHAR
SqlString
  4.000 0 2 vezes o número de chars + 2 bytes
VARCHAR
SqlString
  8.000 0 número de chars contidos
NVARCHAR
SqlString
  4.000 0 2 vezes o número de chars contidos
VARCHAR(MAX)**
SqlString
  2147483647 0 número de chars contidos
NVARCHAR(MAX)**
SqlString
  2147483647 0 2 vezes o número de chars contidos
UNIQUEIDENTIFIER
SqlGuid
Guid
System.Guid
     

 * Suportado apenas no SQL 2008.
** Suportado apenas no SQL 2008 e 2005.

Comentários

Carregando comentários

Postar um novo comentário



Processando...