我试图在BigQuery中容纳间距较差的输入。
但是,我一直得到奇怪的结果,基本上是说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)
答案 0 :(得分:3)
通过在字符串中使用tabs
而不是空格(例如-
在外观上,它们看起来完全一样-但第一行中有64个空格,而第二行中有5个制表符和44个空格。在Web UI中,每个标签占据2个字符位置,因此,为什么总共5个标签+ 44个空格看起来像64个空格(与第一行完全相同)
要解决此问题-您可以使用REGEXP_REPLACE代替REPLACE
使用REGEXP_REPLACE允许您“删除”所有空白,如下例所示(唯一的区别在于第二行-使用REGEXP_REPLACE代替REPLACE并使用r'\s'
代替' '
最后,如果要回到第一个示例,查看结果lon_o
中实际上是8个字符还是3个字符的真正方法是从Table
视图{{1 }} JSON视图如下
答案 1 :(得分:1)
检查文本中是否没有隐藏的ASCII字符,例如HEX 80