BigQuery中移除空字符串行的问题求助
BigQuery中移除空字符串行的问题求助
嘿,我太懂你这种挫败感了——明明看着是空的单元格,试了好几种过滤条件都清不掉,换谁都会挠头!
你说的情况大概率是那些“空”单元格里其实藏着看不见的空白字符(比如空格、制表符、换行符这类),看起来是空字符串,但实际不是纯的'',所以你之前的几种判断都没起作用。给你几个实用的解决思路:
先试试用
TRIM()函数去掉字符串前后的空白再判断,这是最常见的情况:WHERE TRIM(ways) != ''或者结合长度判断,逻辑更清晰:
WHERE LENGTH(TRIM(ways)) > 0如果TRIM还没效果,可能是存在特殊的非打印空白字符,这时候可以用正则把所有空白类字符都替换掉再判断:
WHERE REGEXP_REPLACE(ways, r'\s+', '') != ''要是还搞不清楚问题出在哪,不如先查一下这些“空”单元格的真实面目,看看里面到底是什么:
SELECT ways, LENGTH(ways), ASCII(ways) FROM your_table WHERE ways IS NOT NULL通过查看字符长度和对应的ASCII码,你就能精准定位到底是哪种特殊字符在搞鬼了。
一般来说,用TRIM处理后再过滤就能解决大部分这类问题,你可以先试试这个方案~
备注:内容来源于stack exchange,提问作者power_boat
相关产品推荐
相关产品推荐

