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