¿Hay un tipo de datos int sin firmar de 4 bytes en MS SQL Server?4 bytes sin firmar int en SQL Server?
¿Estoy obligado a usar un bigint?
¿Hay un tipo de datos int sin firmar de 4 bytes en MS SQL Server?4 bytes sin firmar int en SQL Server?
¿Estoy obligado a usar un bigint?
Parece que no.
Aquí hay un artículo que describe cómo crear sus propias reglas que restringen un int
a valores positivos. Pero eso no le otorga valores positivos por encima de 2^31-1
.
http://www.julian-kuiters.id.au/article.php/sqlserver2005-unsigned-integer
Puede usted sólo tiene que añadir/restar 2147483648 (2^31) a la int regular? (resta en el camino adentro, & agrega saliendo) Sé que suena tonto, pero si declaras un tipo de datos personalizado que hace esto, es una aritmética entera y muy rápida ... Simplemente no será legible directamente desde el tabla
Usted puede utilizar BIGINT con comprobado la fuerza, sino de tipo de datos seguirá siendo de 8 bytes :(
por eso esta no es una solución viable en absoluto – Pacerier
que utilizan BINT (11) en lugar de INT (11), y que actúa como UNSIGNED INT (11)
Estoy bastante seguro de que no es una respuesta válida para SQL Server. La pregunta se hizo con la etiqueta 'sql-server-2005'. –
¿Habría un posible desbordamiento? –
No, los valores de su aplicación de 0 a 2^32 - 1 se asignarían a los valores de la base de datos - 2^31 - + 2^31 - 1 –
Antes de que Google Analytics apareciera, nosotros somos Muchas más compañías hacen software de seguimiento de estadísticas web. Recuerdo que esta es la forma en que muchos de ellos almacenan direcciones IP sin ir a bigint ... – GWR