我在where子句中遇到了使用oracle、mysql、snowflake查询的非ascii字符的问题。
SELECT * FROM TABLE WHERE col = 'Niño Pobre, Niño Rico';
此查询不返回结果。在where子句中是否有处理非ascii字符的解决方案,请回复我。谢谢。
xmd2e60i1#
maurcin和user3278684就雪花数据wharehouse发表了评论。在snowflake中,使用多种语言处理数据时,collation()函数非常有用。https://docs.snowflake.net/manuals/sql-reference/functions/collate.htmlhttps://docs.snowflake.net/manuals/sql-reference/functions/collation.html注意事项和限制,列出了用于搜索的支持函数:https://docs.snowflake.net/manuals/sql-reference/collation.html#limited-支持内置函数中的排序规则比如说,有一个名为feedback的表,有两列|id |反馈|字符串||1 |'镍ño波布雷,尼亚加拉ñ里科的|从反馈中选择collate(反馈字符串),其中反馈字符串类似“%ni”ño波布雷,尼亚加拉ño里科%';如果要创建一个表来搜索特定语言的字符串,可以在snowflake中创建相同的表,如下所示:创建表反馈(id号,反馈字符串varchar(20)collate'sp');插入排序规则1(v)值(1,'niño波布雷,尼亚加拉ño波多黎各');然后你可以用like搜索,但是要知道,n的搜索将接近ñ.
1条答案
按热度按时间xmd2e60i1#
maurcin和user3278684就雪花数据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-支持内置函数中的排序规则
比如说,有一个名为feedback的表,有两列
|id |反馈|字符串|
|1 |'镍ño波布雷,尼亚加拉ñ里科的|
从反馈中选择collate(反馈字符串),其中反馈字符串类似“%ni”ño波布雷,尼亚加拉ño里科%';
如果要创建一个表来搜索特定语言的字符串,可以在snowflake中创建相同的表,如下所示:
创建表反馈(id号,反馈字符串varchar(20)collate'sp');
插入排序规则1(v)值(1,'niño波布雷,尼亚加拉ño波多黎各');
然后你可以用like搜索,但是要知道,n的搜索将接近ñ.