如何为java.sql.DatabaseMetaData#getTables创建不区分大小写的模式?

我每this JavaDoc使用java.sql.DatabaseMetaData#getTables.如果我想查找表并忽略大小写,我应该为tableNamePattern使用什么?这种模式格式记录在哪里?我可以在这里制作一个与“loinc”,“LOINC”或“Loinc”相匹配...

我每this JavaDoc使用java.sql.DatabaseMetaData#getTables.

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

我可以在这里制作一个与“loinc”,“LOINC”或“Loinc”相匹配的图案吗?

解决方法:

Can I craft a pattern here that will match “loinc”, “LOINC”, or
“Loinc”?

通常:否.NOID API不提供对特定表执行不区分大小写查询的方法.

实际上,这通常不是问题,因为大多数DBMS仅对表名使用大写. ANSI SQL标准要求将SQL查询中的表名转换为大写,除非它们被引用(使用“).由于经常引用相当繁琐,大多数开发人员和大多数软件都使用大写的表名.所以在大多数情况下你可以假设表名是大写的,并使用大写的模式.

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

本文标题为:如何为java.sql.DatabaseMetaData#getTables创建不区分大小写的模式?

基础教程推荐