postgres上的通用大写搜索和mysql无法正常工作

时间:2016-07-20 15:49:29

标签: mysql postgresql active-objects

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

这是一个适用于所有数据库但MySQL的查询:

从" AO_69D057_FILTER"中选择*在哪里"共享" = true AND" CONTAINS_PROJECT" = true和UPPER(" FILTER_NAME")喜欢UPPER('%pr%')。

由于某种原因,MySql无法在双引号中使用表名。如果我使用不带引号的表名,它适用于MySQL,但不适用于Postgres。 Postgres正在将表名转换为小写,因为它没有引用。 AO以大写形式生成表名。

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

有关如何摆脱表名问题的任何建议吗?

1 个答案:

答案 0 :(得分:0)

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

SET SQL_MODE=ANSI_QUOTES;

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

相关问题