我遇到了与法语字符比较的问题。在现有代码中使用具有5个连接并使用SQL函数的视图,以转换法语字符进行比较。有什么方法可以最大限度地减少这种情况。
我的踪迹。
我有一个名为'ANDRÉ'的名称,必须作为JSP页面的输入提供。
然后出现了SQL函数,将输入从法语转换为英语。该函数以这样的方式编写,即以小写'andre'返回编码字符串。
现在使用此结果,搜索具有5个连接的视图的条件。
有没有其他方法可以将字符串编码或转换成小写字母进行比较???
请帮忙..
答案 0 :(得分:0)
类似这样的事情
"from DataOrganization dataOrg where lower(dataOrg.poolName) like lower('%"+ poolName +"%')"
答案 1 :(得分:0)
如果你需要删除重音字符并小写字符串进行比较,你可能会走错路。您应该检查数据库中使用的排序规则。对于法语字符,我建议latin1
用于MySQL,SQL_Latin1_General_CP1_CI_AI
用于SQL Server。
基本上collation决定了事物的排序和比较方式。使用正确的整理“André”将与“Andre”相同,甚至“ANDRE”也不会与输入字符串混淆。