的经典方法从Java查询一个SQL数据库不区分大小写如下:如何在Oracle SQL中对结果不区分大小写?
String name = ...; // get the user's input (case is unknown)
String sql = "select * from Person where lower(name) = ?";
Object jdbcBindVariable = name.toLowerCase();
// ... using JDBC, bind that variable and run the SQL query
的问题是,下套管是一个区域设置特定的操作。例如,下面这个字母“I
”给出了英语和土耳其语的不同结果。在上面的代码中,有两个下套管作业:
- 弦乐#toLowerCase()方法
- 下()的数据库函数
我怎样才能确保爪哇和数据库使用相同的语言环境,从而执行有效的比较?
我知道String类有一个toLowerCase(Locale)方法,但我怎么知道数据库使用的是什么Locale?我可以通过编程来检查,还是必须将语言环境硬编码为我认为数据库(本例中为Oracle 10g)配置的语言环境?
这是这么简单,但我从来没有想过它。 – 2010-02-03 02:37:03