Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एसक्यूएल सर्वर की तरह बाइनरी कॉलम को क्वेरी करना

इसे रूपांतरित न करें, लेकिन इलाज एक सीमा के रूप में है (जैसे आप डेटाटाइम मान लेंगे)

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;

इसमें टेस्टडाटा पर एक इंडेक्स का उपयोग करने में सक्षम होने का बोनस है

संपादित करें, आप जितने चाहें उतने अंक निर्दिष्ट करें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पता करें कि SQL सर्वर में CHECK बाधा स्तंभ-स्तर या तालिका-स्तर है (T-SQL उदाहरण)

  2. पैरामीटर के साथ DISTINCT का उपयोग करते समय स्टेटमेंट प्रदर्शन में गिरावट का चयन करें

  3. Mssql का उपयोग करके 'LIMIT' के पास गलत सिंटैक्स

  4. SSMS से पूरा परिणाम कैसे प्राप्त करें

  5. त्रुटि संदेश 4151 को ठीक करें "NULLIF के लिए पहले तर्क का प्रकार NULL स्थिरांक नहीं हो सकता क्योंकि SQL सर्वर में पहले तर्क के प्रकार को जानना होगा"