Ich habe ein Problem mit dem folgenden:Ausgabe während Strings Vergleich
Ich habe eine Sequenz, die mit dem Wert kommt:
"ORA-00904: TESTE: identificador inválido"
Ich muss Ersetzen Sie dieses Testfeld in meiner Abfrage durch leer ('').
Aber wenn meine Abfrage anderes Feld mit den zum Beispiel TESTEN Namen enthält und ersetze ich für ‚‘, es staies falsch, TESTET für and TESTETE for
TE
ich das TESTET für `` ersetzen ersetzen möge und die TESTEN lassen wie es ist.
mein Beispiel Abfrage ist:
SELECT TESTE, TESTETE, fld1 VON TBL
Meine Logik ist wie folgt:
String oracleMsg = "ORA-00904: TESTE: identificador inválido";
String query = "SELECT TESTE, TESTETE, OUTRO FROM TBL";
String comp = "TESTE";
if (oracleMsg.contains(comp)){
query = query.replace(comp, "''");
}
System.out.println(query);
Ergebnis: SELECT '', '' TE, OUTRO VON TBL Erwartetes Ergebnis? SELECT '', TESTETE, OUTRO VON TBL
Vielen Dank !!!
Sie können Ihre comp var auf "TESTE" erweitern und durch "" ersetzen, aber dies wird ein Problem verursachen, wenn das Feld, das Sie ersetzen, das letzte ist (das fehlende "," am Ende der Feldliste) – nabuchodonossor
Ich kann es nicht Freund machen. Weil "TESTE" dynamisch in meinem System kommt. Was ich hier gepostet habe, war nur ein Beispiel. Andere Vorschläge ??? –