2

我在使用 Oracle、MySQL、雪花查询的 where 子句中遇到了非 ascii 字符的问题。

SELECT * FROM TABLE WHERE col = 'Niño Pobre, Niño Rico';

此查询不返回任何结果。

是否有任何解决方案来处理 where 子句中的非 ascii 字符,然后请回复我。

谢谢。

4

1 回答 1

0

Maurcin 和 user3278684 对 Snowflake Data 仓库发表了评论。

在 Snowflake 中使用多种语言处理数据时,COLLATION() 函数非常有用。

例如,假设您有一个名为 feedback 的表,其中包含两列


| 编号 | 反馈字符串 |


| 1 | 'Niño Pobre,Niño Rico'|


SELECT collat​​e(feedback_string) from feedback WHERE feedback_string like '%Niño Pobre, Niño Rico%';

如果您想创建一个表来搜索特定语言的字符串,您可以在 Snowflake 中创建上面相同的表,如下所示:

CREATE TABLE feedback (id NUMBER, feedback_string varchar(20) collat​​e 'sp');

INSERT INTO collat​​ion1 (v) VALUES (1, 'Niño Pobre, Niño Rico');

那么您可以使用 Like 进行搜索,但要知道对 N 的搜索将接近 ñ。

于 2019-10-10T00:09:04.060 回答