sql >> データベース >  >> RDS >> Oracle

OracleJDBCPreparedStatementは末尾のスペースを無視します

    状況を考えると、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. タイプ'System.DBNull'のオブジェクトをタイプ'System.Byte[]'にキャストできません。

    2. SQLServerでUnixタイムスタンプを日付/時刻値に変換する方法

    3. PythonとMySQLdb-EXISTSが例外をスローするように見える場合にDROPTABLEを使用する

    4. PostgreSQLデータベースの作成