bigquery:split()返回中的错误



我在BigQuery中有一个Table Taba,该表有一个可乐列,列可乐具有以下结构

1038627|21514184

和桌面的塔巴拥有超过一百万个记录。我用它分成多列

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 选择计数(*( - 返回说17m记录


选择Cola,First(Cola,'|'((Part1, nth(2,split(cola,'|'((part2 from taba - 返回170万记录,带有错误的拆分


选择第一个(split(cola,'|'((part1, nth(2,split(cola,'|'((part 2 from taba - 仅返回1.4l记录,带有正确的拆分

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

任何帮助将不胜感激。预先感谢!

是数据的问题还是拆分的问题?

帮助进行故障排除 - 我建议您在BigQuery Standard SQL

中运行相同的逻辑
#standardSQL
SELECT 
  ColA,
  SPLIT(ColA, '|')[SAFE_OFFSET(0)] AS part1,
  SPLIT(ColA, '|')[SAFE_OFFSET(1)] AS part2
FROM TabA

最新更新