如何在雪花中找到隐形角色
How to find invisible character in Snowflake
我正在从数据集中提取数据,其中两列 old_value 和 new_value 应该 NOT 相等。但是我得到了错误的行。
例如:
old_value
new_value
ABC
ABC
不应提取此行,但它就在那里。弄清楚原因后,显示如下:
old_value
new_value
len(old_value)
len(new_value)
ABC
ABC
4
3
我不确定为什么 old_value 显示为“4”。我确实尝试用空白换行符 regexp_replace 替换白色 space,但 none 有效。
请建议如何找到并删除这个不可见的字符。谢谢!
您可以使用正则表达式删除非 ascii 字符
select regexp_replace(old_value, '[^[:ascii:]]', '')
您必须适应数据的模式
我正在从数据集中提取数据,其中两列 old_value 和 new_value 应该 NOT 相等。但是我得到了错误的行。
例如:
old_value | new_value |
---|---|
ABC | ABC |
不应提取此行,但它就在那里。弄清楚原因后,显示如下:
old_value | new_value | len(old_value) | len(new_value) |
---|---|---|---|
ABC | ABC | 4 | 3 |
我不确定为什么 old_value 显示为“4”。我确实尝试用空白换行符 regexp_replace 替换白色 space,但 none 有效。
请建议如何找到并删除这个不可见的字符。谢谢!
您可以使用正则表达式删除非 ascii 字符
select regexp_replace(old_value, '[^[:ascii:]]', '')
您必须适应数据的模式