Google bigquery 在BigQuery中转换数组中的值
假设我有一个列如下的表: de/a/la/les/un/une/oi/ke/el/para/d/pour/for/l/en/这是1行1列中的所有1个值 我想将这些值转换为%de/%a/%la/%les/。。。。等等 基本上,我正在尝试为我稍后将使用的regexp表达式建立一个基础 所以我想,我需要使用SPLITorignal,“/”将原始字符串转换为数组,然后通过CONCAT“%”,original,“…”转换数组中的每个项。。。但是我没能写一个可以工作的查询 有什么想法吗Google bigquery 在BigQuery中转换数组中的值,google-bigquery,Google Bigquery,假设我有一个列如下的表: de/a/la/les/un/une/oi/ke/el/para/d/pour/for/l/en/这是1行1列中的所有1个值 我想将这些值转换为%de/%a/%la/%les/。。。。等等 基本上,我正在尝试为我稍后将使用的regexp表达式建立一个基础 所以我想,我需要使用SPLITorignal,“/”将原始字符串转换为数组,然后通过CONCAT“%”,original,“…”转换数组中的每个项。。。但是我没能写一个可以工作的查询 有什么想法吗 DZ好的,下面是解决
DZ好的,下面是解决方案: 挑选 数组到字符串数组选择CONCAT“”、original_single、“”FROM UNNESTSPLIToriginal、|作为原始字符串、|作为somecolumnname
下面的FROM…用于BigQuery标准SQL
REGEXP_REPLACE(original, r'(\w+)', r'%\1 ') AS somecolumnname
您可以使用以下问题中的样本数据进行测试、玩游戏
#standardSQL
WITH `project.dataset.table` AS (
SELECT 'de/a/la/les/un/une/oi/ke/el/para/d/pour/for/l/en/' original
)
SELECT
REGEXP_REPLACE(original, r'(\w+)', r'%\1 ') AS somecolumnname
FROM `project.dataset.table`
结果是
Row somecolumnname
1 %de /%a /%la /%les /%un /%une /%oi /%ke /%el /%para /%d /%pour /%for /%l /%en /