BigQuery:SPLIT() 错误 returns

BigQuery: error in SPLIT() returns

我在 BigQuery 中有一个 table TabA,它有一个 ColA 列,ColA 列具有以下结构

1038627|21514184

并且 table TabA 有超过一百万条记录。我用this拆分成多列

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

这是随机发生的。不确定哪里有错误。

SELECT COUNT(*) FROM TabA - returns say 1.7M records


SELECT ColA,FIRST(SPLIT(ColA, '|')) part1, NTH(2, SPLIT(ColA, '|')) part2 FROM TabA - returns 1.7M records with the wrong split


SELECT FIRST(SPLIT(ColA, '|')) part1, NTH(2, SPLIT(ColA, '|')) part2 FROM TabA - returns just 1.4L records with correct split

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

如有任何帮助,我们将不胜感激。提前致谢!!

is it the problem with the data or the problem with the split ??

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

#standardSQL
SELECT 
  ColA,
  SPLIT(ColA, '|')[SAFE_OFFSET(0)] AS part1,
  SPLIT(ColA, '|')[SAFE_OFFSET(1)] AS part2
FROM TabA