Google BigQuery的字符串类型替换功能

安雅

我正在尝试替换数据中的某些客户名称。我能够使用Google BigQuery语言通过对一个特定字符串的替换功能将字符串的一部分转换为另一部分的SQL。

Replace(CustomerName, 'ABC', 'XYZ')

但是,我还有其他一些需要使用replace函数,以便

Replace(CustomerName, 'PLO', 'Rustic')
Replace(CustomerName, 'Kix', 'BowWow')

等等。

我试着做

Replace(CustomerName, 'ABC', 'XYZ') OR Replace(CustomerName, 'PLO', 'Rustic') OR Replace(CustomerName, 'Kix', 'BowWow')

但这给了我一条错误信息。

我也尝试过

Replace(CustomerName, 'ABC', 'XYZ') AND Replace(CustomerName, 'PLO', 'Rustic') AND Replace(CustomerName, 'Kix', 'BowWow')

但这也给我一个错误信息。

我可以只使用“ case when statement”,然后对每个语句进行硬编码,但是我想知道是否有更好/更快的方法来代替replace语句。

谢谢你的帮助。

杰里米·康迪特

CASE WHEN选项非常合理。另一种选择是将它们链接在一起:

REPLACE(
  REPLACE(
    REPLACE(
      CustomerName,
      'ABC',
      'XYZ'),
    'PLO',
    'Rustic'),
  'Kix',
  'BowWow')

您选择哪一个取决于实际情况。链接的REPLACE调用可能会更快,但是它们可能会以怪异的方式重叠(例如,如果一个替换的输出与下一个替换的输入匹配)。CASE WHEN方法避免了该问题,但是它可能会更昂贵,因为您需要执行一个操作以找到子字符串,然后执行另一个操作以实际替换它。

请注意,当您使用AND或时OR,您试图将字符串输出合并REPLACE为一个布尔值,这就是失败的原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Google BigQuery中的子字符串

用Google脚本中的条件替换字符串

在Google表单上将空字段替换为字符串

使用Google表格功能组合字符串的相似部分

如何仅从字符串中提取字母数字字符?(SQL Google BigQuery)

Google BigQuery 从带有 regexp_extract 的列中提取字符串 - 字符串值

如何在Google BigQuery的URL字符串中的模式之后提取带有SYMBOLS的字符串

Google Data Studio 如何按位置替换字符串字符?

如何在 Google Bigquery 中将字符串转换为列名?

Google BigQuery的字符串“ t0”是什么意思?

在Google Cloud Build YAML脚本中分隔BigQuery REGEXP_EXTRACT字符串

将嵌套的JSON字符串展平到Google BigQuery中的不同列

在Google BigQuery(Standard SQL)中将HH:MM:SS格式的字符串转换为秒

Google BigQuery:如何检查年份字符串是否包含负值

用替换字符串功能替换字符串

在替换第 n 个子字符串 Google Script 中将变量添加到 RegEx

分割(并替换)从Google表格中的字符串中提取的数字

带有= Left的带有子字符串替换文本的Google表格问题

用脚本替换Google Spreadsheet中的多个字符串

如果已在 Google Chrome 扩展程序中使用 JavaScript 替换查询字符串

在 Google Data Studio (Regex) 中替换字符串中的多个空格

Google Apps Script 搜索功能需要比较包含数字和字母的字符串

使用 Google Apps 脚本删除或替换 Google 表格单元格中的“未定义”字符串

轴 #0 的数据列不能是字符串类型(有时) - Google Charts

如何替换Google表格中单元格中字符串中N个位置的字符

特殊的字符串替换功能

Idris中的字符串替换功能

javascript字符串替换功能

Powershell的字符串替换功能