Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle JDBC PreparedStatement Ignora gli spazi finali

Forse, date le circostanze e se la tua versione di Oracle è abbastanza recente, potresti considerare di aggiungere un colonna virtuale alla tua tabella contenente il corretto valore?

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

Quindi nel tuo codice, l'unica modifica sarà l'utilizzo di ORGANIZATION_KEY_FIXED per interrogare il DB:

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

(prova su http://sqlfiddle.com/#!4/8251d/1 )

Ciò potrebbe evitare di disperdere nella tua applicazione il codice necessario per aggirare quel bug. E potrebbe facilitare la transizione una volta risolto.

Come ulteriore vantaggio, puoi aggiungere anche l'indice su colonne virtuali, se necessario.