Ich versuche eine einfache Suche auf einer Tabelle, die auf jeder Art von Datenbank sein kann. Die folgende Abfrage arbeitet mit den meisten Datenbanken, aber ich kann keine Lösung finden, die auf mysql funktioniert. Die Tabellen in meiner Datenbank werden vom Framework für aktive Objekte generiert, sodass ich die Namen oder die Konfiguration dieser Instanzen nicht ändern kann.generische Großbuchstaben Suche auf Postgres und MySQL funktioniert nicht
ist die Abfrage, die auf alle Datenbanken, aber MySQL funktioniert gut:
select * from "AO_69D057_FILTER" where "shared" = true AND "CONTAINS_PROJECT" = true und obere ("FILTER_NAME") wie UPPER (‘ % pr% ').
MySql ist nicht in der Lage, den Tabellennamen aus irgendeinem Grund in doppelten Anführungszeichen zu verwenden. Wenn ich den nicht angegebenen Tabellennamen verwende, funktioniert er auf MySQL, aber nicht auf Postgres. Postgres konvertiert den Tabellennamen in Kleinbuchstaben, da er nicht in Anführungszeichen steht. AO erzeugt die Tabellennamen in Großbuchstaben.
Ich habe auch versucht, einen Alias zu verwenden, aber das kann wegen der Bewertungshierarchie der Anweisung nicht funktionieren.
Irgendwelche Vorschläge, wie man das Tabellennamenproblem loswird?
Mögliche Duplikat [mysql doppelten Anführungszeichen Tabellennamen] (http://stackoverflow.com/questions/13884854/mysql -double-quoted-table-names) –