Oracle中的重音和不区分大小写的COLLATE等效项

Jon*_*han 4 oracle

在Microsoft SQL Server中,如果我想在区分大小写的数据库中不敏感地搜索大小写,我可以运行以下SQL:

SELECT * FROM MyTable
WHERE MyField = 'BobDillon' COLLATE Latin1_General_CI_AI
Run Code Online (Sandbox Code Playgroud)

这将找到所有"bobdillon"条目.

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

SELECT * FROM MyTable
WHERE UPPER(MyField) = 'BOBDILLON'
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有直接等效的collat​​e关键字,所以我可以根据需要搜索区分大小写和重音敏感度.

Qua*_*noi 8

SELECT *
FROM MyTable
WHERE NLSSORT(MyField, 'NLS_SORT = Latin_CI') = NLSSORT('BobDillon', 'NLS_SORT = Latin_CI')
Run Code Online (Sandbox Code Playgroud)