Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
4 bytes unsigned value
Message
De
06/01/2006 08:59:22
Keith Payne
Technical Marketing Solutions
Floride, États-Unis
 
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Autre
Versions des environnements
SQL Server:
SQL Server 2000
Divers
Thread ID:
01083748
Message ID:
01084011
Vues:
9
>I need to record a 4 bytes unsigned value in my table (range 0 - 4,294,967,295). Currently I am using bigint to represent this value but I am wasting around 3 bytes per record (especially considering that a record is 2100 bytes).
>
>Anywho, do I have any other options than to use bigint? Does MSSQL have an unsigned field type?
>I know I could use binary(4) but the field is PK so I would like it to be a "visible" type.
>
>Are there any problems using binary(x) as PK?
>
>I just had a lot of thoughts running through my head while eating lunch.
>
>Einar

Einar,

You can store 4 unsinged bytes in an int column if you do some casting:
select cast(4294967295 as binary(8))
select cast(cast(4294967295 as binary(8)) as char(8))
select right(cast(cast(4294967295 as binary(8)) as char(8)), 4)
select cast(right(cast(cast(4294967295 as binary(8)) as char(8)), 4) as binary(4))
select cast(cast(right(cast(cast(4294967295 as binary(8)) as char(8)), 4) as binary(4)) as int)
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform