Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle JDBC PreparedStatement Ignorer les espaces de fin

Peut-être, compte tenu des circonstances, et si votre version d'Oracle est assez récente, vous pourriez envisager d'ajouter un colonne virtuelle à votre table contenant le correct valeur ?

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

Ensuite dans votre code, le seul changement sera d'utiliser le ORGANIZATION_KEY_FIXED pour interroger la BD :

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

(essayez-le sur http://sqlfiddle.com/#!4/8251d/1 )

Cela pourrait éviter de disperser dans votre application le code requis pour contourner ce bogue. Et pourrait faciliter la transition une fois qu'elle sera corrigée.

Comme avantage supplémentaire, vous pouvez également ajouter un index sur les colonnes virtuelles si vous en avez besoin.