【发布时间】:2017-05-24 10:49:54
【问题描述】:
我正在使用 BigQuery,我想拆分以下类型的字符串: ;%20kostenlos%20%20online%20%20game;b;g;177393617893; 分成5个不同的值。我使用的代码如下:
FROM (select *, FIRST(SPLIT(clicks_table.affiliate_sub5, ';')) part1,
NTH(2, SPLIT(clicks_table.affiliate_sub5, ';')) part2,
NTH(3, SPLIT(clicks_table.affiliate_sub5, ';')) part3,
NTH(4, SPLIT(clicks_table.affiliate_sub5, ';')) part4,
NTH(5, SPLIT(clicks_table.affiliate_sub5, ';')) part5
我遇到的问题是:对于某些字符串,缺少某些值,并且当它发生时,该代码不是为该部分报告 NULL,而是为以下字符串报告。例如:
;%20kostenlos%20%20online%20%20game;b;;177393617893;
那么会这样拆分:
part 1 = %20kostenlos%20%20online%20%20game
part 2 = b
part 3 = 177393617893 (instead of NULL)
part 4 = blank (instead of 177393617893)
part 5 = blank (and that's fine)
如何避免这种情况?
【问题讨论】:
-
编辑您的问题并提供一个示例在问题中说明您的意思。
-
我编辑了提供示例的问题
标签: sql string split google-bigquery