【发布时间】:2021-02-10 02:26:40
【问题描述】:
我想知道是否有一种简单的方法可以比较两个忽略重音和大写的文本值。我正在使用 Oracle 数据库。 我已经在寻找答案,但老实说,我不明白他们在Accent and case insensitive collation in Oracle with LIKE 中提出的建议。我试过了,但它对我不起作用。基本上我想要做的就是两个比较像'pepé'和'pepe'这样的文本值并获得true作为答案。
没有LIKE指令可以做到吗?
谢谢!
【问题讨论】:
-
您是否尝试比较字符串的相等性,忽略大小写和重音符号?还是在忽略大小写和重音的情况下对它们进行
LIKE比较?将nls_sort和nls_comp设置为您链接到的答案似乎可以解决您的问题。你能解释一下你不明白的是什么吗?您是否尝试过运行这两个alter session语句?没用吗? -
@JustinCave 基本上我想要做的是通过一个城市的名称加入,但是在我有同一个城市的数据中有时会出现重音,有时不会,所以它将它们视为两个不同的城市。我无法更改数据。
-
您是否尝试过在会话中设置
nls_sort和nls_comp并运行查询?看起来这将完成您想要的,在这种情况下,这是您确定的问题的副本。如果这不能解决问题,您能否帮助我们了解哪些具体不适合您? -
@JustinCave 好吧,我有点了解 SQL,所以也许我有点迷茫,我正在为一个我无权创建表的用户进行咨询咨询他们。所以我不太确定是否可以更改参数,还有其他方法吗?
-
您是否尝试过运行这些命令?如果您可以创建会话(登录到数据库),您应该有权更改会话的 NLS 设置。