BigQuery LTRIM无法返回预期结果

时间:2019-11-18 10:45:16

标签: google-bigquery

我有以下SQL代码:

SELECT LTRIM("0039040123456","0039")

结果应为040123456,但BigQuery返回40123456

为什么还要修剪0

错误或预期的行为?

非常感谢!

2 个答案:

答案 0 :(得分:1)

尝试一下:

SELECT LTRIM("0039p40123456","p039")
40123456

它也删除了p

那是因为:

  

如果value2包含多个字符或字节,该函数将删除value2中包含的所有前导或尾随字符或字节。

(因此它查看的是字符列表,而不是字符序列)

您真正想要的是:

SELECT REGEXP_REPLACE("0039040123456","^0039","")

答案 1 :(得分:0)

列类型为STRING。看了文档https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators?hl=de#ltrim之后,我猜想这是故意的。 (看看水果示例。)