oracle - 在哪里可以查询oracle数据库的大小写敏感度?

标签 oracle collation case-sensitive

哪里可以查询oracle数据库当前的区分大小写设置?

我尝试查看v$databasenls_database_parameters,并查看系统包,但它们似乎都没有提供我需要的信息......

最佳答案

Oracle 10gR2中:

SELECT  *
FROM    NLS_SESSION_PARAMETERS
WHERE   parameter IN ('NLS_COMP', 'NLS_SORT')

SQL> ALTER SESSION SET NLS_COMP = 'LINGUISTIC'
  2  /

Session altered
SQL> SELECT  COUNT(*)
  2  FROM    dual
  3  WHERE   'a' = 'A'
  4  /

  COUNT(*)
----------
         1

SQL> ALTER SESSION SET NLS_COMP = 'BINARY'
  2  /

Session altered
SQL> SELECT  COUNT(*)
  2  FROM    dual
  3  WHERE   'a' = 'A'
  4  /

  COUNT(*)
----------
         0

来自documentation :

NLS_COMP specifies the collation behavior of the database session.

Values:

  • BINARY

    Normally, comparisons in the WHERE clause and in PL/SQL blocks is binary unless you specify the NLSSORT function.

  • LINGUISTIC

    Comparisons for all SQL operations in the WHERE clause and in PL/SQL blocks should use the linguistic sort specified in the NLS_SORT parameter. To improve the performance, you can also define a linguistic index on the column for which you want linguistic comparisons.

  • ANSI

    A setting of ANSI is for backwards compatibility; in general, you should set NLS_COMP to LINGUISTIC

关于oracle - 在哪里可以查询oracle数据库的大小写敏感度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1244804/

相关文章:

mysql - PHPMyAdmin 强制使用 ut8mb4 作为默认排序规则

mysql - 排查mysql中的 "Illegal mix of collations"错误

php - 如何在 PHP 字符串比较中模拟 MySQLs utf8_general_ci 排序规则

ruby-on-rails - Ruby on Rails 标签函数。为什么radio_button_tag.id 的大小写与label.for 不匹配?

c - MinGW 中的 strstr 和 StrStrI 以及 C 中的函数作为参数

oracle - SAS Oracle 数据问题

c# - 带有 Entity Framework 的带输出参数 (SYS_REFCURSOR) 的过程

c++ - 64 位和 32 位工具在一个环境中运行

c# - 从 Oracle 读取问题

c# - 有什么方法可以检测区分大小写的文件名错误吗?