数据库或Java代码中的大写方法?

时间:2013-09-03 08:19:21

标签: java database

HY,

假设您在列中包含了CVA数据库值cAmeLCaSe,并且您始终希望在视图中显示它们大写。

现在使用(例如)Oracle的UPPER-Function选择那些托管是否更好 或者循环结果并在选择完成后从Java代码中调用.toUpperCase()方法?

我知道这是一个普遍的问题,我会在对上述两种可能性进行性能混乱之后进行评论。但是我更多地追求一般信息来解决这些问题的好信息来源(例如“运行排序数据库或程序代码更好吗?”以及像.Net / Java这样的常见解决方案这样的问题Oracle / MSSQL Server。

非常感谢您花时间阅读这些问题,我感谢您的任何意见,并祝您有个美好的一天。

此致 Jan

2 个答案:

答案 0 :(得分:4)

取决于使用大写值的位置和方式。

如果这只是前端使用的 (我假设使用“ view ”你做了意味着数据库视图)那么我' d理想地使用用户的语言环境来toUpperCase()

如果您使用大写值进行比较,我会使用Oracle函数来确保您具有一致的行为。我想到的是将列值与字符串常量进行比较的条件:WHERE upper(foobar) = upper('SomeValue')如果您使用的Java toUpperCase()可能会应用与Oracle不同的(区域设置相关)规则。

答案 1 :(得分:1)

我相信我的代码总是应该与数据库无关。

 String upper = string.toUpperCase();

因为,它与数据库无关。如果我将数据库转移到其他地方,我不需要更改我的代码。

简而言之,您应该考虑具体要求。