【问题标题】:How to convert integer to bit string in Amazon Redshift?如何在 Amazon Redshift 中将整数转换为位字符串?
【发布时间】:2017-07-18 17:45:37
【问题描述】:

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

我找到了a UDF that does this,但我不想使用任何 UDF。

【问题讨论】:

  • 您可以...使用您链接到的 udf 定义中的代码...
  • @Siyual 但它是在 Python 中...

标签: sql amazon-redshift


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回答。我这样做了。有一些方法可以在没有 UDF 的情况下完成,但它们很长且难以理解,例如。 SELECT (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.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-20
  • 1970-01-01
  • 2014-12-04
  • 1970-01-01
  • 2021-10-06
  • 2023-04-10
  • 1970-01-01
相关资源
最近更新 更多