Replace BigQuery字符串比较和调整与替换/修剪
我试图在BigQuery中容纳空格不正确的输入。Replace BigQuery字符串比较和调整与替换/修剪,replace,google-bigquery,Replace,Google Bigquery,我试图在BigQuery中容纳空格不正确的输入。 然而,我不断得到奇怪的结果,基本上是说,abc 有人能解释一下这是怎么可能的吗? 我试图通过使用replace和rtrim来调整这一点,但它们都没有达到目的 多谢各位 SELECT o = t,o, t, length(o) as lon_o, length(t) as len_t from (select replace('abc
然而,我不断得到奇怪的结果,基本上是说,
abc
有人能解释一下这是怎么可能的吗?
我试图通过使用replace
和rtrim
来调整这一点,但它们都没有达到目的
多谢各位
SELECT o = t,o, t, length(o) as lon_o, length(t) as len_t
from
(select replace('abc ',' ','') o,
'abc' as t)
这对我有用
检查您的文本中是否没有隐藏的ASCII字符,这可能是导致此问题的原因,例如这对我有效
检查您的文本中是否没有隐藏的ASCII字符,这可能是造成这种情况的原因。例如,我可以很容易地复制您的案例,方法是(例如)在该字符串中有几个
选项卡,而不是空格-
从视觉上看,它们看起来一模一样——但第一行有64个空格,而第二行有5个制表符和44个空格。在Web UI中,每个选项卡占据2个字符位置,这就是为什么总共5个选项卡+44个空格看起来像64个空格(与第一行完全相同)
要解决此问题,可以使用REGEXP\u REPLACE代替REPLACE
使用REGEXP\u REPLACE可以“删除”所有空格,如下例所示(这里唯一的区别是第二行-使用REGEXP\u REPLACE代替REPLACE,使用r'\s'
代替'
最后,如果要回到第一个示例,那么要了解结果的lon_o
中8个字符与3个字符的实际区别,最好的方法是从Table
view切换到JSON`视图,如下所示
我可以很容易地复制您的案例,例如,在该字符串中有几个选项卡,而不是空格-
从视觉上看,它们看起来一模一样——但第一行有64个空格,而第二行有5个选项卡和44个空格。在Web UI中,每个选项卡占据2个字符位置,这就是为什么总共5个选项卡+44个空格看起来像64个空格(与第一行完全相同)
要解决此问题,可以使用REGEXP\u REPLACE代替REPLACE
使用REGEXP\u REPLACE可以“删除”所有空格,如下例所示(这里唯一的区别是第二行-使用REGEXP\u REPLACE代替REPLACE,使用r'\s'
代替'
最后,如果要回到第一个示例,那么要了解结果的lon_o
中8个字符与3个字符的实际区别,最好的方法是从Table
view切换到JSON`视图,如下所示