Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql BigQuery:SPLIT()返回时出错_Sql_Google Bigquery_Legacy Sql - Fatal编程技术网

Sql BigQuery:SPLIT()返回时出错

Sql BigQuery:SPLIT()返回时出错,sql,google-bigquery,legacy-sql,Sql,Google Bigquery,Legacy Sql,我在BigQuery中有一个表TabA,它有一个ColA列,ColA列的结构如下 1038627|21514184 TabA表有超过一百万条记录。我过去常常分成多列 SELECT ColA,FIRST(SPLIT(ColA, '/')) part1, NTH(2, SPLIT(ColA, '/')) part2 FROM TabA 但由于某种原因,在某些行之后,拆分似乎无法正常工作 我们有这样的记录 ColA part1 part2 1038

我在BigQuery中有一个表TabA,它有一个ColA列,ColA列的结构如下

1038627|21514184
TabA表有超过一百万条记录。我过去常常分成多列

SELECT ColA,FIRST(SPLIT(ColA, '/')) part1,
       NTH(2, SPLIT(ColA, '/')) part2
FROM TabA
但由于某种原因,在某些行之后,拆分似乎无法正常工作

我们有这样的记录

     ColA            part1   part2
1038627|21507470    1038627 21507470     
1038627|21534857    1038627 21507470     
1038627|21546455    1038627 21507470     
1038627|21577167    1038627 21507470
这是随机发生的。不确定哪里有错误

从TabA中选择COUNT*-返回170万条记录

选择可乐,FIRSTSPLITColA,“|”第1部分, NTH2,SPLITColA,“|”来自TabA的第2部分-返回170万条拆分错误的记录

选择FIRSTSPLITColA,“|”第1部分, NTH2,SPLITColA,“|”来自TabA的第2部分-仅返回1.4L记录和正确的拆分

不知道到底发生了什么…是数据问题还是拆分问题

任何帮助都将不胜感激。提前谢谢

是数据问题还是分割问题

为了帮助排除故障,我建议在BigQuery标准SQL中运行相同的逻辑

标准SQL 选择 可乐 SPLITColA,“|”[SAFE_OFFSET0]作为第1部分, SPLITColA,“|”[SAFE_OFFSET1]作为第2部分 来自塔巴 是数据问题还是分割问题

为了帮助排除故障,我建议在BigQuery标准SQL中运行相同的逻辑

标准SQL 选择 可乐 SPLITColA,“|”[SAFE_OFFSET0]作为第1部分, SPLITColA,“|”[SAFE_OFFSET1]作为第2部分 来自塔巴
您必须使用SQL的旧版本吗?我强烈建议您使用,因为解决这个问题非常简单。您必须使用SQL的旧版本吗?我强烈建议您使用,因为解决这个问题非常简单。标准SQL语法抛出了一个错误。我是标准SQL的新手…你能帮我吗非常感谢@mikhail berlyant的帮助。我在谷歌上搜索了几次,才知道我使用的语法是错误的。后来我纠正了它。它现在正在工作…但问题是我只得到190万条记录…其中记录的总数是1799万条记录…知道为什么即使在标准SQL中也会发生这种情况吗…拆分工作正常…但是记录的数量远远低于实际数。标准SQL语法抛出了一个错误。我是标准SQL的新手…你能帮我吗非常感谢@mikhail berlyant的帮助。我在谷歌上搜索了几次,才知道我使用的语法是错误的。后来我纠正了它。它现在正在工作…但问题是我只得到190万条记录…其中记录的总数是1799万条记录…知道为什么即使在标准SQL中也会发生这种情况吗…拆分工作正常…但记录的数量远低于实际数量。