Oracle 10g中是否存在将数据视为不区分大小写的设置?我看到了一个解决方案here。但是,这是在会话中完成的。我正在寻找的是一种架构或表上的设置,以将其数据视为不区分大小写。如果它正在进行会话,那么我将不得不对所有存储过程进行更改。如何使Oracle不区分大小写
1
A
回答
2
没有选择让模式或表格'不区分大小写'。
你可以做到这一点上的会话使用NLS_参数或做在整个实例受影响的数据库初始化文件相同。
但是,对于严格的平等搜索,这些搜索仅区分大小写。如果你需要使用LIKE然后你需要考虑使用REGEXP_LIKE。
在REGEXP_LIKE的情况下,您不需要NLS_SORT设置,因为REGEXP_LIKE有一个选项可以让事情不区分大小写。
2
大小写敏感性是计算的基础,简单的理由是'yun'的ASCII值!='YUN'的ASCII值。所以,当你说...
考虑数据不区分大小写
...你的意思只是为了搜索的目的或为存储呢?
与每一个搜索执行情况的问题是这样的:
SQL> create table t23 (id number, name varchar2(20))
2/
Table created.
SQL> create unique index t23_uk on t23(name)
2/
Index created.
SQL> insert into t23 values (1, 'SAM-I-AM')
2/
1 row created.
SQL> insert into t23 values (2, 'sam-i-am')
2/
1 row created.
SQL> select id, name, ascii(name) from t23
2/
ID NAME ASCII(NAME)
---------- -------------------- -----------
1 SAM-I-AM 83
2 sam-i-am 115
SQL>
如果不区分大小写的搜索是在模式或表级别,我们怎能区分“SAM-I-AM”“强制SAM-我是'?
它是 - 有点 - 可以强制不区分大小写的数据存储,尽管在单个列级别:
SQL> delete from t23
2/
2 rows deleted.
SQL> drop index t23_uk
2/
Index dropped.
SQL> create unique index t23_uk on t23(upper(name))
2/
Index created.
SQL> insert into t23 values (1, 'SAM-I-AM')
2/
1 row created.
SQL> insert into t23 values (2, 'sam-i-am')
2/
insert into t23 values (2, 'sam-i-am')
*
ERROR at line 1:
ORA-00001: unique constraint (APC.T23_UK) violated
SQL>
相关问题
- 1. 使Oracle排序不区分大小写?
- 2. Lucene如何区分大小写和不区分大小写
- 3. Oracle 10G不区分大小写的列
- 4. 如何使preg_quote不区分大小写?
- 5. 如何使automapper不区分大小写?
- 6. 如何使jquery不区分大小写?
- 7. 如何使strpos不区分大小写
- 8. 如何使lucene不区分大小写
- 9. 如何使preg_match不区分大小写?
- 10. 如何使String.Contains不区分大小写?
- 11. 使区分大小写不敏感的区分大小写表
- 12. 如何区分大小写?
- 13. 如何从oracle获取不区分大小写的记录?
- 14. 如何在Oracle SQL中对结果不区分大小写?
- 15. 如何使oracle安装区分大小写?
- 16. Oracle SQL Developer - 区分大小写
- 17. 区分大小写的URL不区分大小写
- 18. VB.NET不区分大小写;很好的区分大小写?
- 19. 为什么区分大小写和不区分大小写?
- 20. 区分大小写区分大小写还是全大写?
- 21. 如何使Array.Sort区分大小写?
- 22. 如何使SQL区分大小写
- 23. 不区分大小写
- 24. 不区分大小写preg_replace_callback
- 25. distinctUnionOfObjects不区分大小写
- 26. 不区分大小写
- 27. System.IO.FileInfo不区分大小写
- 28. MySQL不区分大小写
- 29. 不区分大小写Func
- 30. 不区分大小写#define
1为答案和背景。我冒昧地设计你的答案.. – lexu 2010-05-11 05:09:57