MS SQL Server Concepts and Programming Question:
Can Binary Strings Be Used in Arithmetical Operations?
Answers:
Answer #1Can 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
* 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
Answer #2SELECT 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.
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.
Previous Question | Next Question |
How To Concatenate Two Binary Strings Together? | How To Convert Binary Strings into Integers in MS SQL Server? |