Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
4 bytes unsigned value
Message
 
À
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:
01084033
Vues:
8
>>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)
>
Keith,
All that work in not worth the wasting of a couple of bytes per row :) but thanks for the reply.

Einar
Semper ubi sub ubi.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform