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操作的比较应使用参数中指定的语言排序.要提高性能,您还可以在要进行语言比较的列上定义语言索引.WHEREPL/SQLNLS_SORT
ANSI设置
ANSI是为了向后兼容; 一般来说,你应该设置NLS_COMP为LINGUISTIC
| 归档时间: |
|
| 查看次数: |
8007 次 |
| 最近记录: |