2008-11-20 9 views

Respuesta

15

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

+0

¿Habría un posible desbordamiento? –

+2

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 –

+0

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

0

Usted puede utilizar BIGINT con comprobado la fuerza, sino de tipo de datos seguirá siendo de 8 bytes :(

+0

por eso esta no es una solución viable en absoluto – Pacerier

-3

que utilizan BINT (11) en lugar de INT (11), y que actúa como UNSIGNED INT (11)

+1

Estoy bastante seguro de que no es una respuesta válida para SQL Server. La pregunta se hizo con la etiqueta 'sql-server-2005'. –

Cuestiones relacionadas