Using Binary Strings in Arithmetical Operations in SQL Server

Q

Can Binary Strings Be Used in Arithmetical Operations in SQL Server Transact-SQL?

✍: FYIcenter.com

A

Can binary strings be used in arithmetical operations? The answer is yes. But there are two simple rules you need to remember:

  • If an arithmetical operation has one binary string operand and one integer data type operand, the binary string operand will be converted to a integer data type to match the other operand. The operation will be performed as an integer operation.
  • A + operator with two binary strings will be performed as binary string concatenation.
  • A -, *, or / operator with two binary strings will be performed as binary string concatenation.

The tutorial exercise below shows you some good examples:

SELECT 0x66 + 44
GO
146

SELECT 0x66 - 44
GO
58

SELECT 0x66 * 44
GO
4488

SELECT 0x66 / 44
GO
2

SELECT 0x66 + 0x44
GO
0x6644

SELECT 0x66 - 0x44
GO
Msg 8117, Level 16, State 1, Line 1
Operand data type varbinary is invalid 
   for subtract operator.

SELECT 0x66 * 0x44
GO
Msg 8117, Level 16, State 1, Line 1
Operand data type varbinary is invalid 
   for multiply operator.

SELECT 0x66 / 0x44
GO
Msg 8117, Level 16, State 1, Line 1
Operand data type varbinary is invalid 
   for divide operator.

 

Character Strings and Binary Strings in SQL Server Transact-SQL

⇒⇒SQL Server Transact-SQL Tutorials

2017-02-28, 257👍, 0💬