Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle JDBC PreparedStatement Nachgestellte Leerzeichen ignorieren

In Anbetracht der Umstände und wenn Ihre Version von Oracle aktuell genug ist, könnten Sie vielleicht erwägen, ein virtuelle Spalte zu Ihrer Tabelle, die das Richtige enthält Wert?

ALTER TABLE yfs_organization ADD (
  ORGANIZATION_KEY_FIXED VARCHAR(80)
    GENERATED ALWAYS AS (TRIM(ORGANIZATION_KEY)) VIRTUAL
  );

Dann besteht die einzige Änderung in Ihrem Code darin, den ORGANIZATION_KEY_FIXED zu verwenden um die DB abzufragen:

SELECT ID,ORGANIZATION_KEY_FIXED
  FROM yfs_organization
  WHERE ORGANIZATION_KEY_FIXED='testFTP_receipt521'

(versuchen Sie es auf http://sqlfiddle.com/#!4/8251d/1 )

Dadurch wird möglicherweise vermieden, dass der Code, der zur Umgehung dieses Fehlers erforderlich ist, in Ihrer Anwendung verteilt wird. Und könnte den Übergang erleichtern, sobald es behoben ist.

Als zusätzlichen Vorteil können Sie bei Bedarf auch einen Index für virtuelle Spalten hinzufügen.