Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

truy vấn cột nhị phân bằng cách sử dụng như trong máy chủ sql

Không chuyển đổi nó, nhưng hãy coi nó như một phạm vi (giống như bạn làm với các giá trị ngày giờ)

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;

Điều này có lợi ích là có thể sử dụng một chỉ mục trên TestData

Chỉnh sửa, bạn chỉ cần chỉ định bao nhiêu chữ số tùy ý



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SqlServer:Đăng nhập không thành công cho người dùng

  2. SQL JOIN so với IN hiệu suất?

  3. Cách tạo khóa ngoại tổng hợp trong SQL Server (Ví dụ T-SQL)

  4. Cách lấy Bảng cha, Bảng tham chiếu, Tên và cột ràng buộc khóa ngoại trong SQL Server - Hướng dẫn SQL Server / TSQL Phần 71

  5. Trung bình của nhiều cột