The bitwise_or() Scalar Function : bitwise operators « Data Types « SQL Server / T-SQL Tutorial






4>
5> CREATE FUNCTION dbo.bitwise_or
6> (
7>   @arg1 varbinary(8),
8>   @arg2 varbinary(8)
9> ) RETURNS varbinary(8)
10> AS
11> BEGIN
12>
13>   DECLARE
14>     @result   AS varbinary(8),
15>     @numbytes AS int,
16>     @curpos   AS int
17>   SET @result   = 0x
18>   SET @numbytes = DATALENGTH(@arg2)
19>   SET @curpos   = 1
20>   WHILE @curpos <= @numbytes
21>   BEGIN
22>     SELECT
23>       @result = @result + CAST(SUBSTRING(@arg1, @curpos, 1) |
24>                                CAST(SUBSTRING(@arg2, @curpos, 1)
25>                                  AS tinyint)
26>                             AS binary(1))
27>     SET @curpos = @curpos + 1
28>   END
29>
30>   RETURN @result
31> END
32> GO
1> GRANT EXECUTE ON dbo.bitwise_or TO public
2> GO
1>
2> SELECT dbo.bitwise_or(0x00000001000000010000000100000001,
3>                        0xffffffffffffffffffffffffffffffff)
4>
5> drop function dbo.bitwise_or
6> GO





------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
----------------------------------
0xFFFFFFFFFFFFFFFF





(1 rows affected)
1>
2>








5.3.bitwise operators
5.3.1.Selecting data using bitwise operators.
5.3.2.Testing numeric values with bitwise operators.
5.3.3.Bitwise NOT (~) Validity Table
5.3.4.Legal Bitwise Operation
5.3.5.Retrieving Index Properties by Using the Bitwise AND (&) Operator
5.3.6.Bitwise AND (&)
5.3.7.Bitwise OR (|)
5.3.8.Exclusive Or (^)
5.3.9.Bitwise NOT (~)
5.3.10.The bitwise_not() Scalar Function
5.3.11.The bitwise_and() Scalar Function
5.3.12.The bitwise_or() Scalar Function
5.3.13.The bitwise_xor() Scalar Function