Conversion between SQL statements and SQL statements
----- Binary Conversion decimal --------------- select sum (data1) from (select substring ('20170101', number, 1) * power (2, len ('20170101')-number) data1 from (select number from master. dbo. spt_values where type = 'P') K where number <= len ('000000') L result: 27 ----- convert octal to decimal ----------------- select sum (data1) from (select substring ('123', number, 1) * power (8, len ('123')-number) data1 from (select number from master. dbo. spt_values where type = 'P') K where number <= len ('000000') L result: 1234567 ----- hexadecimal conversion decimal ------------------- select sum (data1) from (select case upper (substring ('4eb7', number, 1 )) when 'a 'then 10 when 'B' then 11 when 'C' then 12 when 'D' then 13 when 'E' then 14 when 'F' then 15 else substring (' 4eb7 ', number, 1) end * power (16, len ('4eb7')-number) data1 from (select number from master. dbo. spt_values where type = 'P') K where number <= len ('4eb7') L result: 20151 ----- decimal conversion binary ----------------- declare @ I int, @ s varchar (10) set @ I = 27 set @ s = ''select @ s = cast (@ I % 2 as varchar) + @ s, @ I = @ I/2 from (select number from master. dbo. spt_values where type = 'p' and number <10 and power (2, number) <@ I) Korder by number desc select @ s result: 11011 ----- decimal conversion octal --------------- declare @ I int, @ s varchar (10) set @ I = 27 set @ s = ''select @ s = cast (@ I % 8 as varchar) + @ s, @ I = @ I/8 from (select number from master. dbo. spt_values where type = 'p' and number <10 and power (8, number) <@ I) Korder by number desc select @ s result: 33 ----- hexadecimal conversion in decimal format --------------- declare @ I int, @ s varchar (10) set @ I = 2379 set @ s = ''select @ s = case when @ I % 16 between 10 and 15 then char (@ I % 16 + 55) else cast (@ I % 16 as varchar) end + @ s, @ I = @ I/16 from (select number from master. dbo. spt_values where type = 'p' and number <10) Korder by number desc select @ s result: 94B