Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

unsigned right shift '>>>' Оператор в sql сървър

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на условен оператор UPDATE в SQL

  2. Динамична SQL Pivot Table

  3. 13 най-добри практики за сигурност на SQL Server

  4. как да създадете и извикате скаларна функция в sql сървър 2008

  5. Обработка на NULL стойност в UNPIVOT