mysql - postgres 和 mysql 上的通用大写搜索不起作用

标签 mysql postgresql active-objects

我正在尝试对可以位于任何类型数据库的表进行简单搜索。以下查询适用于大多数数据库,但我找不到适用于 mysql 的解决方案。 我的数据库中的表是由事件对象框架生成的,因此我无法更改这些实例的名称或配置。

以下查询适用于除 MySQL 之外的所有数据库:

从“AO_69D057_FILTER”中选择*,其中“SHARED”= true AND“CONTAINS_PROJECT”= true AND UPPER(“FILTER_NAME”),如UPPER('%pr%')。

出于某种原因,MySql 无法使用双引号中的表名。如果我使用不带引号的表名,它可以在 MySQL 上运行,但不能在 Postgres 上运行。 Postgres 正在将表名转换为小写,因为它没有被引用。 AO 正在生成大写的表名称。

我还尝试使用别名,但由于语句的评估层次结构而无法工作。

有什么建议可以解决表名问题吗?

最佳答案

默认情况下,双引号用于列。 您可以更改它:

SET SQL_MODE=ANSI_QUOTES;

这是有关它的文档: http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html

关于mysql - postgres 和 mysql 上的通用大写搜索不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38485166/

相关文章:

postgresql - 如何删除名称中带有回车符的 PostgreSQL 数据库?

c++ - 线程应用程序的同步列表

java - 如何对角线移动可见图像?

python - sqlalchemy 随 executemany 从版本 0.5 到 0.7 发生变化

search - 如何构建以下 SELECT 查询

php - 我可以使用单个 SQL 查询来执行此操作吗?

sql - 在 plpgsql 的触发函数中更新多列

postgresql - 使用 psycopg cur.execute 创建 postgres 模式

mysql - 在类别中搜索时如何优化连接

java - 为数组字段添加 setter 时 ActiveObjects 抛出异常