Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

menanyakan kolom biner menggunakan like di sql server

Jangan mengonversinya, tetapi perlakukan sebagai rentang (seperti yang Anda lakukan pada nilai datetime)

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;

Ini memiliki bonus untuk dapat menggunakan indeks pada TestData

Sunting, Anda tinggal menentukan digit sebanyak yang Anda butuhkan



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Buat Pekerjaan Agen SQL Server menggunakan T-SQL

  2. Bagaimana mengurutkan agar seperti yang dimasukkan dalam SQL Server?

  3. SQL hanya mengambil nilai numerik dari varchar

  4. Membangun klausa WHERE dinamis dalam prosedur tersimpan

  5. sp_MSforeachdb:hanya menyertakan hasil dari database dengan hasil