2013-02-11 64 views
-1

在oracle中是否有與MySQL的二進制文件等價的語句?在oracle中的二進制文件

實施例:

Select * from table1 where BINARY column1 = BINARY column2; 

它迫使一個確切區分大小寫的匹配。 除了轉換爲UPPER或LOWER兩列外,是否還有其他語句?

+0

我不確定我是否按照這個問題。 'select * from table1 where column1 = column2'將做一個確切的區分大小寫的匹配。從你的答案猜測,也許你想做一個不區分大小寫的匹配? – 2013-02-11 20:08:52

+0

你說得對,我沒有測試過答案。這將是「Latin_CS」 – 2013-02-11 20:17:16

+1

在Oracle中沒有任何'NLSSORT'的情況下,您將得到一個確切的區分大小寫的匹配 - 這只是標準行爲(除非您爲會話設置了一些非默認的'NLS_SORT'或'NLS_COMP'設置將是非常罕見的)。你通過指定'NLSSORT'解決了什麼問題,通過簡單地檢查兩列是否相等就不能解決? – 2013-02-11 20:25:54

回答

3
SELECT * 
FROM table1 
WHERE NLSSORT(column1, 'NLS_SORT = Latin_CS') = NLSSORT(column2, 'NLS_SORT = Latin_CS') 

找到答案的地方。