【发布时间】:2017-06-29 15:05:15
【问题描述】:
我在 BigQuery 中有一个表 TabA,它有一列 ColA,列 ColA 具有以下结构
1038627|21514184
表 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 - 返回 170 万条记录
选择 ColA,FIRST(SPLIT(ColA, '|')) 第 1 部分, NTH(2, SPLIT(ColA, '|')) part2 FROM TabA - 返回 170 万条错误拆分的记录
SELECT FIRST(SPLIT(ColA, '|')) 第 1 部分, NTH(2, SPLIT(ColA, '|')) part2 FROM TabA - 仅返回正确拆分的 1.4L 记录
不知道到底发生了什么……是数据的问题还是拆分的问题??
任何帮助将不胜感激。提前致谢!!
【问题讨论】:
-
您必须使用旧版 SQL 吗?我强烈建议您使用Standard Version,因为在那里解决这个问题非常简单。
标签: sql google-bigquery legacy-sql