I have written the following query:
substring(SELECT DB_NAME()), 1, 1)
I wish to convert the char which this query returns in to a binary string like "11001101".
What is the correct way to do it?
Thanks
I have written the following query:
substring(SELECT DB_NAME()), 1, 1)
I wish to convert the char which this query returns in to a binary string like "11001101".
What is the correct way to do it?
Thanks
You could use ASCII() to convert the character to a decimal integer and then use the script given on this answer to convert that to a "binary" string
You will possibly end up with something like this:
DECLARE @i INT = ASCII(SUBSTRING((DB_NAME()),1,1))
SELECT
CASE WHEN CONVERT(VARCHAR(8), @i & 128 ) > 0 THEN '1' ELSE '0' END +
CASE WHEN CONVERT(VARCHAR(8), @i & 64 ) > 0 THEN '1' ELSE '0' END +
CASE WHEN CONVERT(VARCHAR(8), @i & 32 ) > 0 THEN '1' ELSE '0' END +
CASE WHEN CONVERT(VARCHAR(8), @i & 16 ) > 0 THEN '1' ELSE '0' END +
CASE WHEN CONVERT(VARCHAR(8), @i & 8 ) > 0 THEN '1' ELSE '0' END +
CASE WHEN CONVERT(VARCHAR(8), @i & 4 ) > 0 THEN '1' ELSE '0' END +
CASE WHEN CONVERT(VARCHAR(8), @i & 2 ) > 0 THEN '1' ELSE '0' END +
CASE WHEN CONVERT(VARCHAR(8), @i & 1 ) > 0 THEN '1' ELSE '0' END