我正在使用每个this JavaDocjava.sql.DatabaseMetaData#getTables

如果我要查找表并忽略大小写,应该为tableNamePattern使用什么?该模式格式在哪里记录?

我可以在此处制作与“loinc”,“LOINC”或“Loinc”相匹配的图案吗?

最佳答案



通常:编号 JDBC API不提供对特定表执行不区分大小写的查询的方法。

实际上,这通常不是问题,因为大多数DBMS都仅使用大写形式表示表名。 ANSI SQL标准要求将SQL查询中的表名转换为大写,除非用引号将它们引起来(使用")。由于不断引用很繁琐,因此大多数开发人员和大多数软件都使用大写的表名。因此,在大多数情况下,您可以假设表名是大写的,而使用模式是大写的。

如果您确实需要不区分大小写的查询,则可以将tableNamePattern指定为null(这意味着不按名称进行过滤),然后遍历所有结果并检查Java代码中的表名。请注意,这对于具有很多表的数据库来说可能很慢。

关于java - 如何为java.sql.DatabaseMetaData#getTables设置不区分大小写的模式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23664806/

10-11 19:17