gpt4 book ai didi

sql - 使 Oracle 排序不区分大小写?

转载 作者:行者123 更新时间:2023-12-04 18:22:24 26 4
gpt4 key购买 nike

这与使oracle排序不区分大小写有关。我见过的大多数解决方案都提到了以下 session 参数设置:

ALTER SESSION SET NLS_COMP = LINGUISTIC;
ALTER SESSION SET NLS_SORT = BINARY_CI;

默认情况下 NLS_COMP 是 BINARY。

我发现如果我只是将 NLS_SORT 设置为 BINARY_CI 而没有将 NLS_COMP 设置为 LINGUISTIC,它仍然有效,即 oracle 排序变得不区分大小写。设置 NLS_COMP 参数有什么好处吗?

最佳答案

NLS_COMPNLS_SORT 的效果略有不同。 NLS_COMP 顾名思义,用于比较。 NLS_SORT 顾名思义就是排序。将 NLS_COMP 设置为 LINGUISTIC 会导致比较遵循排序规则,导致比较使用 NLS_SORT 设置。您可以在尝试时看到差异:

SELECT 1 FROM DUAL WHERE 'A' = 'a';

对于 NLS_COMP = BINARY,比较结果为 false。使用 NLS_COMP = LINGUISTICNLS_SORT = BINARY_CI,比较结果为真。

是否应该设置它取决于您希望从查询中获得什么结果。

关于sql - 使 Oracle 排序不区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27612154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com