Google bigquery BigQuery-将ID从基数10转换为基数36

Google bigquery BigQuery-将ID从基数10转换为基数36,google-bigquery,Google Bigquery,如何在google big query中将基数为10的id转换为基数为36的id 示例: 4503599684322375->应转换为->18ce54sjpl3 在MySQL中,我使用了下面的选项,但似乎可以在BQ中找到任何选项 CONV(num,从_基到_基)为了执行此转换,您应该使用JS方法,这将允许您转换为以base 36编码的字符串 语法如下: CREATE TEMP FUNCTION tobase36(x NUMERIC) RETURNS STRING LANGUAGE js AS

如何在google big query中将基数为10的id转换为基数为36的id

示例:
4503599684322375->应转换为->18ce54sjpl3

在MySQL中,我使用了下面的选项,但似乎可以在BQ中找到任何选项


CONV(num,从_基到_基)

为了执行此转换,您应该使用JS方法,这将允许您转换为以base 36编码的字符串

语法如下:

CREATE TEMP FUNCTION tobase36(x NUMERIC)
RETURNS STRING
LANGUAGE js AS """
 return (x).toString(36);
""";
#test with sample data
WITH data AS (
SELECT 4503599684322375 AS base10
)
SELECT base10, tobase36(base10) AS base36 FROM data
以及产量,

Row base10            base36    
1   4503599684322375  18ce54sjpl3

谢谢你,亚历山大。我试着运行它,但我得到了一个错误“模板化的js UDF还不受支持,但函数tobase36有一个模板化的参数”@ConorJohnston,我改变了一件事。创建UDF时,它接收的类型必须是数字,而不是任何类型。我已经用正确的类型进行了测试,输出如答案所述。现在可以完美地工作了。你是个救生员。谢谢大家!@康诺斯顿,请考虑拔除并接受答案。谢谢