我在与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/

10-12 14:17