Entering Binary String Literals in SQL Server Transact-SQL

Q

How To Enter Binary String Literals in SQL Server Transact-SQL?

✍: FYIcenter.com

A

Binary string long values are normally generated by client applications by reading input channels, like image files. But sometimes, you may need to enter some short binary strings as literals. Binary string literals are entered as a string of bytes expressed in HEX numbers and prefixed with (0x).

Input strings will be truncated or padded to fit the storage size of fixed length binary string data type. The padding bytes will be the zero byte: 0x00. The tutorial exercise shows you good examples of truncating and padding fixed length binary strings:

-- Size matches
DECLARE @x BINARY(8);
SET @x = 0x2605260626402642;
PRINT @x;
------------------
0x2605260626402642

-- Truncated
DECLARE @x BINARY(4);
SET @x = 0x2605260626402642;
PRINT @x;
------------------
0x26052606

-- Padded
DECLARE @x BINARY(12);
SET @x = 0x2605260626402642;
PRINT @x;
------------------
0x260526062640264200000000

-- No padding on variable length data type
DECLARE @x VARBINARY(8);
SET @x = 0x; -- Empty binary string
PRINT @x;
0x

-- Padding on fixed length data type
DECLARE @x BINARY(8);
SET @x = 0x; -- Empty binary strings
PRINT @x;
------------------
0x0000000000000000

 

Data Literals in SQL Server Transact-SQL

⇒⇒SQL Server Transact-SQL Tutorials

2017-04-22, 294👍, 0💬