我在使用 Oracle、MySQL、雪花查询的 where 子句中遇到了非 ascii 字符的问题。
SELECT * FROM TABLE WHERE col = 'Niño Pobre, Niño Rico';
此查询不返回任何结果。
是否有任何解决方案来处理 where 子句中的非 ascii 字符,然后请回复我。
谢谢。
我在使用 Oracle、MySQL、雪花查询的 where 子句中遇到了非 ascii 字符的问题。
SELECT * FROM TABLE WHERE col = 'Niño Pobre, Niño Rico';
此查询不返回任何结果。
是否有任何解决方案来处理 where 子句中的非 ascii 字符,然后请回复我。
谢谢。
Maurcin 和 user3278684 对 Snowflake Data 仓库发表了评论。
在 Snowflake 中使用多种语言处理数据时,COLLATION() 函数非常有用。
例如,假设您有一个名为 feedback 的表,其中包含两列
| 编号 | 反馈字符串 |
| 1 | 'Niño Pobre,Niño Rico'|
SELECT collate(feedback_string) from feedback WHERE feedback_string like '%Niño Pobre, Niño Rico%';
如果您想创建一个表来搜索特定语言的字符串,您可以在 Snowflake 中创建上面相同的表,如下所示:
CREATE TABLE feedback (id NUMBER, feedback_string varchar(20) collate 'sp');
INSERT INTO collation1 (v) VALUES (1, 'Niño Pobre, Niño Rico');
那么您可以使用 Like 进行搜索,但要知道对 N 的搜索将接近 ñ。