BigQuery-REGEXP_REPLACE处的转义序列非法



在BigQuery中匹配正则表达式时遇到问题。

REGEXP_REPLACE(tc.metadata->>'document_number', 'D', '', 'g') = m.document_number

然而,由于某种原因,BigQuery似乎不喜欢转义序列,我得到了一个我无法理解的错误:

Syntax error: Illegal escape sequence: D 

这段代码运行得很好,但BigQuery对此不满意,我也不知道为什么。提前感谢的帮助

您需要对BigQuery中的字符进行双转义,因为第一个/将被JavaScript使用。

尝试双重转义,例如\D,这应该对您有效。

在[1]中,如果向下滚动,您可以看到标准SQL的转义序列,而没有一个是D,所以正如Ben p所说,您需要双重转义才能获得反斜杠转义序列。我想这就是缺失的地方,但如果你能进一步阐述你的问题,答案确实会更准确。

[1]https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#string_and_bytes_literals

最新更新