2013-02-11 69 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') 

找到答案的地方。