如何在Redshift中将十六进制数转换为二进制?

时间:2019-07-19 16:59:58

标签: python sql amazon-redshift

我正在尝试将十六进制数字转换为二进制。我一直找不到能够正常工作的redshift函数。

我尝试了以下两个功能:

选择strtol('4D',2)并选择to_binary('4D')

(to_binary函数不存在,但to_hex存在)

我也尝试过找到Python UDF,但没有运气。

示例: 如果将十六进制4D转换为二进制,我会期望01001101

2 个答案:

答案 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))