the*_*oop 3 oracle collation case-sensitive
我在哪里可以查询oracle数据库的当前区分大小写设置?
我试过查看v$database
,nls_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
Run Code Online (Sandbox Code Playgroud)
来自文档:
NLS_COMP
指定数据库会话的排序规则行为.价值观:
BINARY
通常,除非指定函数,否则
WHERE
子句和PL/SQL
块中的比较是二进制的NLSSORT
.
LINGUISTIC
子句和块中所有
SQL
操作的比较应使用参数中指定的语言排序.要提高性能,您还可以在要进行语言比较的列上定义语言索引.WHERE
PL/SQL
NLS_SORT
ANSI
设置
ANSI
是为了向后兼容; 一般来说,你应该设置NLS_COMP
为LINGUISTIC
归档时间: |
|
查看次数: |
8007 次 |
最近记录: |