Sql 如何在Amazon红移中将整数转换为位字符串?

Sql 如何在Amazon红移中将整数转换为位字符串?,sql,amazon-redshift,Sql,Amazon Redshift,如何在Amazon红移中将无符号整数转换为二进制字符串?例如,对于数字10,我想得到“1010” 我发现了,但我宁愿不使用任何UDF。有人编写了这个UDF,这表明Redshift的SQL中没有可以执行此操作的内置功能 如果您不想使用UDF,您可以创建一个包含所有二进制值的查找表,然后加入到该表中。这可能比反复运行Python函数快,但我注意到该函数被编码为稳定的,因此它将缓存结果。您可以。。。使用您链接到的udf定义中的代码…@Siyual,但它是用Python编写的…谢谢您的回答。我这样做了。

如何在Amazon红移中将无符号整数转换为二进制字符串?例如,对于数字10,我想得到“1010”


我发现了,但我宁愿不使用任何UDF。

有人编写了这个UDF,这表明Redshift的SQL中没有可以执行此操作的内置功能


如果您不想使用UDF,您可以创建一个包含所有二进制值的查找表,然后加入到该表中。这可能比反复运行Python函数快,但我注意到该函数被编码为稳定的,因此它将缓存结果。

您可以。。。使用您链接到的udf定义中的代码…@Siyual,但它是用Python编写的…谢谢您的回答。我这样做了。在没有UDF的情况下,有一些方法可以做到这一点,但它们很长而且很难理解,例如
选择(bit_col%2+(bit_col>>1)%2+(bit_col>>2)%2+(bit_col>>3)%2+(bit_col>>4)%2+(bit_col>>5)%2+(bit_col>>6)%2+(bit_col>>7)%2)::INT2