T-SQLにはビットシフト演算子がないため、自分で実装する必要があります。ここにビット単位のシフトの実装があります: http ://dataeducation.com/bitmask-handling-part-4-left-shift-and-right-shift/
整数をvarbinaryにキャストし、ビット単位のシフト関数を使用して整数にキャストバックし、(うまくいけば)ちょっとプレストする必要があります!あなたが期待しているあなたの結果があります。
実装とテストは、読者の演習として残されています...
編集-以下のコメントに何を入れたかを明確にするために、このSQLを実行すると、さまざまなCASTによって得られるさまざまな結果が示されます。
SELECT -5381 AS Signed_Integer,
cast(-5381 AS varbinary) AS Binary_Representation_of_Signed_Integer,
cast(cast(-5381 AS bigint) AS varbinary) AS Binary_Representation_of_Signed_Big_Integer,
cast(cast(-5381 AS varbinary) AS bigint) AS Signed_Integer_Transposed_onto_Big_Integer,
cast(cast(cast(-5381 AS varbinary) AS bigint) AS varbinary) AS Binary_Representation_of_Signed_Integer_Trasposed_onto_Big_Integer
結果:
Signed_Integer Binary_Representation_of_Signed_Integer Binary_Representation_of_Signed_Big_Integer Signed_Integer_Transposed_onto_Big_Integer Binary_Representation_of_Signed_Integer_Trasposed_onto_Big_Integer
-------------- -------------------------------------------------------------- -------------------------------------------------------------- ------------------------------------------ ------------------------------------------------------------------
-5381 0xFFFFEAFB 0xFFFFFFFFFFFFEAFB 4294961915 0x00000000FFFFEAFB