create table #temp1 ( bigint1 char(4), bigint2 binary(4) ) insert into #temp1 values ( char(0) + char(0) + char(0) + char(0), 0x00000000 ) insert into #temp1 values ( char(255) + char(255) + char(255) + char(255), 0xFFFFFFFF ) insert into #temp1 values ( char(255) + char(255) + char(255) + char(255), 1234 ) select * from #temp1 select cast( bigint2 as char(4) ) from #temp1 select cast( cast( bigint2 as bigint ) as decimal(10,0)) from #temp1>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).