Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

odpytywanie kolumny binarnej za pomocą jak w serwerze sql

Nie konwertuj, ale traktuj to jako zakres (tak jak w przypadku wartości daty i godziny)

DECLARE @foo TABLE (TestData varbinary(100) NOT NULL);
INSERT @foo (TestData) VALUES
         (0x0001DC780C0030373156635D0C00B8840301009A0600AC),
         (0x0001AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA),
         (0x0001AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF),
         (0x0301DC780C0030373156385D0C006499C401009A0600AC),
         (0x0301FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF),
         (0x0302000000000000000000000000000000000000000000);

SELECT *
FROM @foo
WHERE TestData >= 0x0001 AND TestData < 0x0002;

-- added more digit for clarity of what actually happens
SELECT *
FROM @foo
WHERE TestData >= 0x00010000 AND TestData < 0x00020000;

SELECT *
FROM @foo
WHERE TestData >= 0x0001AA AND TestData < 0x0001AB;

SELECT *
FROM @foo
WHERE TestData >= 0x0301 AND TestData < 0x0302;

Ma to tę zaletę, że można używać indeksu w TestData

Edytuj, wystarczy podać tyle cyfr, ile potrzebujesz



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wysłać zapytanie do tabeli SQL i usunąć zduplikowane wiersze z zestawu wyników?

  2. Potrzebujesz pomocy z oświadczeniem Merge

  3. Zadanie SQL Server z precyzyjnym czasem

  4. Optymalizacja wydajności XML serwera XML

  5. Jak pobrać upuszczoną procedurę składowaną, funkcję, tabelę w SQL Server 2008?