I’m trying to find specific lines of data from a BINARY column.
Example data in the BINARY(2000) column:
0x0600700701000C006B6173616E74696E676B6F000000000003000A0078009C0000000000E612101E000000000000000000006B031813361E00000000000000000000D4014B13141C0000000000000000000053017C13261E00000000000000000000A102E113361E000000000000000000009E02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2201073200000000000000000000D604D11C101C000000000000000000008C01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0170000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000220047003700280016000F0001000B0003003F000000480200001D0000003101000000000000562B00003710000000000000134B000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB517010000000000000000000000000012060200000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF191404000000000000000000000000009A13051D00000000000000000000A0029A13051D00000000000000000000A002BC3B0700000000000000000000000000FE050817000000000000000000000000FE05091E00000000000000000000000012060200000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF191404000000000000000000000000009A13051D00000000000000000000A0029A13051D00000000000000000000A002FB050F0D000000000000000000000100FB05101E000000000000000000000100FB05111E000000000000000000000100FE13121D00000000000000000000B402FE13121D00000000000000000000B402E213141E00000000000000000000BC02E213141E00000000000000000000BC023613161D00000000000000000000FE003613161D00000000000000000000FE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB05191E000000000000000000000100FE13121D00000000000000000000B402FE13121D00000000000000000000B402E213141E00000000000000000000BC02E213141E00000000000000000000BC023613161D00000000000000000000FE003613161D00000000000000000000FE000413201E00000000000000000000CC000413201E00000000000000000000CC002E01222C000000000000000000008F052E01222C000000000000000000008F05FB05241E000000000000000000000100FB05251E000000000000000000000100FB05261E000000000000000000000100FB05271E0000000000000000000001000413201E00000000000000000000CC000413201E00000000000000000000CC002E01222C000000000000000000008F052E01222C000000000000000000008F05FB052C1E000000000000000000000100FC052D1E000000000000000000000000A9262E2E000000000000000000000000A9262E2E000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E01222C000000000000000000008F052E01222C000000000000000000008F05FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9262E2E000000000000000000000000A9262E2E000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000005E000000000000000000000000000000000000000500000000000000FFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
This data has 1 result of 2201 somewhere in it. (try searching the data for 2201 and you will get 1.)
Now I’m trying to use this query: (it should give me 512 rows of results)
SELECT *
FROM table
WHERE binaryfield LIKE '%2201%'
ORDER BY key
But no luck in getting results.
Notes: 2201 actually is 290. I’m trying to look for the decimal value 290 which is 2201 in hex in the data that is in endian.
Update:
Tried this query (searching for: 15584)
SELECT *
FROM CHAR_DATA1
WHERE CHAR_DATA LIKE '%'+CAST(0xE03C AS nvarchar(MAX))+'%'
ORDER BY CHAR_KEY;
Now its returning almost all rows. Even manually checked the rows for E03C but none was found, but when running the query it gets returned. very odd. ideas?
The LIKE operator only works on character data types. Try doing a CAST to a string, like this:
— or —
Also, if you want to look at a subset of the data (e.g. the file header), you can do something like this:
Edit
Regarding your updated question, does this give you the results that you’re expecting:
You shouldn’t have to cast/convert the character data to binary.