tangguo

不区分大小写的COLLATE在Oracle中等效

java

在Microsoft SQL Server中,如果要在不区分大小写的数据库中进行不区分大小写的搜索,则可以运行以下SQL:

SELECT * FROM MyTable
WHERE MyField = 'BobDillon' COLLATE Latin1_General_CI_AI

这将找到所有“ bobdillon”条目。

如果我想在Oracle中做同样的事情,我知道我可以这样做:

SELECT * FROM MyTable
WHERE UPPER(MyField) = 'BOBDILLON'

但是我想知道是否存在与collat​​e关键字直接等效的方法,因此我可以根据需要搜索区分大小写和重音符号。


阅读 735

收藏
2020-11-03

共1个答案

小编典典

SELECT *
FROM MyTable
WHERE NLSSORT(MyField, 'NLS_SORT = Latin_CI') = NLSSORT('BobDillon', 'NLS_SORT = Latin_CI')
2020-11-03