Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle JDBC PreparedStatement Игнориране на крайни интервали

Може би, предвид обстоятелствата и ако вашата версия на Oracle е достатъчно нова, можете да помислите за добавяне на виртуална колона към вашата таблица, съдържаща правилните стойност?

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

След това във вашия код единствената промяна ще бъде да използвате ORGANIZATION_KEY_FIXED за запитване до DB:

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

(опитайте го на http://sqlfiddle.com/#!4/8251d/1 )

Това може да избегне разпръскването на кода, необходим за заобикаляне на тази грешка, из приложението ви. И може да улесни прехода, след като бъде коригиран.

Като допълнителна полза можете да добавите индекс към виртуални колони, ако също имате нужда.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изчакване на OracleDataAdapter.Fill()

  2. Грешка в израза на Oracle MERGE (ORA-30926)

  3. Извличане на структура на таблица с динамичен SQL

  4. Как да напиша pandas dataframe в база данни на oracle с помощта на to_sql?

  5. Как да променя езика на Oracle Exceptions в .Net/C#?