【问题标题】:JDBC query table names case insensitive?JDBC查询表名不区分大小写?
【发布时间】:2014-05-19 16:57:06
【问题描述】:

tl:dr;有没有办法通过 JDBC 选择不区分大小写的表名?

我尝试通过 JDBC 连接从数据库中提取所有表名。我可以通过

轻松做到这一点
ResultSet tablesRst = connection.getMetaData().getTables( null, null, null, null );

然而,这会返回所有表、视图等。我只需要前 10 个匹配模式。我知道我可以通过操纵论点自己构建它。

模式的大小写很重要,如果模式是a%,我找不到表AAP

有没有一种简单的方法可以通过 JDBC 查询表名,而无需求助于特定于数据库的代码?

【问题讨论】:

    标签: java jdbc schema case-insensitive


    【解决方案1】:

    这可能取决于数据库配置。如果您在数据库上关闭区分大小写,我假设 AAP 将返回 1%。

    【讨论】:

    • 感谢您的回答。但是,我不控制数据库,我只提取它..
    • 啊,那我猜它要么是使用where upper(x) = ? 的供应商特定查询,要么是使用'a%' 和'A%' 对getTables() 的两次命中。如果有多个字符,后者会变得非常困难。
    猜你喜欢
    • 2012-10-05
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 2012-09-22
    • 1970-01-01
    相关资源
    最近更新 更多