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.

 

Converting Binary Strings into Integers in SQL Server

Concatenating Two Binary Strings in SQL Server

Character Strings and Binary Strings in SQL Server Transact-SQL

⇑⇑ SQL Server Transact-SQL Tutorials

2017-02-28, 2510🔥, 0💬