我正在尝试将十六进制数字转换为二进制。我一直找不到能够正常工作的redshift函数。
我尝试了以下两个功能:
选择strtol('4D',2)并选择to_binary('4D')
(to_binary函数不存在,但to_hex存在)
我也尝试过找到Python UDF,但没有运气。
示例: 如果将十六进制4D转换为二进制,我会期望01001101
答案 0 :(得分:2)
这里是执行相同操作的UDF
uniqueEmail
更新: 具有前导零的新版本。需要第二个参数来指定输出的长度
create function hex_to_bin(h varchar)
returns varchar immutable as $$
return bin(int(h,16))[2:]
$$ language plpythonu;
select hex_to_bin('4D');
hex_to_bin
1001101
答案 1 :(得分:0)
dec = int('4D', 16); print("in Binary =",bin(dec))