3
Why when I use the following command in SQL Server 2005
select convert(varbinary(16),N'123')
returns 0x310032003300 and not 1111011 that would be the binary value?
3
Why when I use the following command in SQL Server 2005
select convert(varbinary(16),N'123')
returns 0x310032003300 and not 1111011 that would be the binary value?
6
@dellasavia, 1111011 is only 1 byte, in case an N'123' is a 3 character nvarchar.
Each character of an nvarchar occupies 2 bytes, totaling 6 bytes.
0x310032003300 can be read as follows in HEX:
HEX: 31 00 32 00 33 00
Binario in this case would be something like:
Binary: 00110001 00000000 00110010 00000000 00110011 00000000
however if instead of using an nvarchar, we did the conversion of a tinyint, then you would achieve the expected result.
DECLARE @valor as tinyint
SET @valor = 123
SELECT convert(binary(1), @valor)
But in this case, you would see an output 0x7B (HEX), which is the same as 01111011 (Binary).
Browser other questions tagged sql varbinary binary
You are not signed in. Login or sign up in order to post.