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