我在使用Doctrine的请求时遇到了一些问题。
我在我的实体上做findOneByFieldName
,它应该检索我一个对象。
我希望findOneByNameSurname
(NameSurname
是一个字符串),其参数包含例如' BEART Jean-Francois' 。
我想要的是,如果表格中只有 BEART Jean-Francois ,那么该学说将检索用户 BEART Jean-Francois 。尽管如此,如果我用f
小写字母给' BEART Jean-francois' 这个学说,那么学说仍会检索到持有' BEART的用户Jean-Francois' 字段F
大写。
我想要的是,教义应该对整个字符串敏感,我的意思是它不应该对重复的名称进行调整,即使实际上它不是重复的名称,因为它的写法不同(f字母大写) )。
我尝试直接在SqlDeveloper
中运行SQL请求,以测试Oracle是否在' Jean-Francois'中使用f
小写或大写的区别。 ,它就是。
那我错过了什么?我怎么能说教义,如果你给我的字符串参数得到f
小写,而你只在DB中找到F
大写,请不要找回任何东西,不是一场比赛...
非常感谢你的帮助。
答案 0 :(得分:0)
在我的oracle Listener中解决了我的问题....
我有:
private static $_SQL_SET_SORT = "ALTER SESSION SET NLS_SORT=Latin_AI";
private static $_SQL_SET_COMP = "ALTER SESSION SET NLS_COMP=LINGUISTIC";
将其改为,现在学说很敏感:
private static $_SQL_SET_SORT = "ALTER SESSION SET NLS_SORT=BINARY_CI";
private static $_SQL_SET_COMP = "ALTER SESSION SET NLS_COMP=BINARY";
有关详细信息,请参阅此帖子: