2016-05-05 4 views
-2

Wie ignoriert man Groß- und Kleinschreibung in Oracle SQL? Zum Beispiel in der Oracle-Datenbank, wenn die Zeichenfolge als "Akujk Ctr12-i/E" gespeichert ist und wenn der Benutzer die Zeichenfolge als "akujk ctrl2-i/e" eingibt, wie die Abfrage in JDBC schreiben, so dass es immer noch gültig ignoriert Fall?Groß-/Kleinschreibung in SQL-Abfrage mit JDBC ignorieren

+0

@a_horse_with_no_name - Oracle wurde im Fragetext erwähnt. Ich habe ein Tag hinzugefügt. –

Antwort

0

In Java nehmen Sie also Benutzereingaben und machen es in Großbuchstaben.

userString.toUpperCase() 

In SQL verwenden obere Funktion

upper(a_column) = ? 

Dies wird wahrscheinlich die Datenbank nicht zulassen, einen Index verwenden, so dass Sie einen anderen Index für die Großversion Ihrer Spalte hinzufügen müssen. Dies ist nur erforderlich, wenn Sie aufgrund dieser Problemumgehung einen Leistungseinbruch erzielen.

+0

: Ja, ich bin in der Lage, es in JDBC zu ändern (a_column) und überprüfen, dass der Benutzerwert und der Attributwert gleich sind, aber wenn ich versuche, den vom Benutzer eingegebenen Wert in die Datenbanktabelle einzufügen, gibt es den folgenden Fehler ORA- 02291: Integritätsbedingung verletzt - Elternschlüssel nicht gefunden, da der in der Datenbank gespeicherte Wert eine Kombination aus Groß- und Kleinschreibung ist Ich kann den vom Benutzer eingegebenen Wert nicht einfügen – sephora

+0

@sephora Es sieht so aus, als hätten Sie eine bestehende Zeile. In diesem Fall sollten Sie aktualisieren - nicht einfügen, aber ich bin mir nicht sicher, was das mit Frage zu tun hat, die aussieht, als würde sie nach einer einfachen Auswahl fragen. –