gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 00:44:11 24 4
gpt4 key购买 nike

我正在尝试将十六进制数转换为二进制数。我还没有找到可行的 Redshift 函数。

我尝试了以下两个功能:

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

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

我也尝试过寻找Python UDF,但没有成功。

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

最佳答案

这是一个执行相同操作的 UDF

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

更新:带有前导零的新版本。需要第二个参数来指定输出的长度

create or replace function hex_to_bin(h varchar, number_of_bits int)
returns varchar immutable as $$
return bin(int(h,32))[2:].zfill(number_of_bits)
$$ language plpythonu;

select hex_to_bin('4D',10);

hex_to_bin
0010001101

关于python - 如何在 Redshift 中将十六进制数转换为二进制数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57116778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com