我在与Oracle,MySQL,雪花查询一起使用的where子句中遇到非ASCII字符的问题。
SELECT * FROM TABLE WHERE col = 'Niño Pobre, Niño Rico';
该查询不返回结果。
在where子句中有没有解决非ASCII字符的解决方案,请回复我。
谢谢。
最佳答案
Maurcin和user3278684对Snowflake Data wharehouse发表了评论。
在Snowflake中,当使用多种语言处理数据时,COLLATION()函数非常有用。
https://docs.snowflake.net/manuals/sql-reference/functions/collate.html
https://docs.snowflake.net/manuals/sql-reference/functions/collation.html
考虑和限制,列出了用于搜索的支持功能:https://docs.snowflake.net/manuals/sql-reference/collation.html#limited-support-for-collation-in-built-in-functions
举例来说,假设您有一个名为feedback的表,其中有两列
| id | feedback_string |
| 1 | “尼诺·波波里,尼诺·里科” |
SELECT从反馈中整理(feedback_string)
WHERE feedback_string,例如'%NiñoPobre,NiñoRico%';
如果要创建一个表来搜索特定语言的字符串,则可以在Snowflake中创建上面的相同表,如下所示:
创建表反馈(id NUMBER,feedback_string varchar(20)整理'sp');
插入整理1(v)值(1,“NiñoPobre,NiñoRico”);
那么您可以使用“喜欢”进行搜索,但是知道对N的搜索将接近ñ。
关于mysql - 如何在where子句中处理非ascii字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50509774/