クエリの結果にレガシーDB2データベースによって追加されたパディングを削除する

StackOverflow https://stackoverflow.com/questions/3880552

  •  28-09-2019
  •  | 
  •  

質問

次のセットアップがあります。

'Apps/Reports' <---------> 'DB2 Connect' <------------> 'Legacy DB2 on AS400'
               `Hibernate`               `native calls`

アプリケーションによってデータが取得されると、長さが列の長さよりも少ない場合、追加のスペースがパッドで埋められます。クエリを実行するとき、 WHERE 原因パラメーターはパッドではなく、クエリがパッド付きおよび非パッドパラメーターに対して同じレコードを取得するように、追加のスペースで自動的にパッド入ります。

結果セットから余分なホワイトスペースを削除する方法(できればIBM DB2 ConnectまたはConnection Stringパラメーター)はありますか?

役に立ちましたか?

解決

Iseriesの列はchar()として定義されていますか?これは、char()の仕組みであるため、容易なフィールドの長さであり、変数フィールドの長さではありません(それがVarcharの目的です)。

他のヒント

文字列を自動的にトリミングするHibernate Usertypeを実装できます。良いエクスマープルがあります

https://forum.hibernate.org/viewtopic.php?t=928294

http://java.dzone.com/articles/annotating-custom-types

http://santescas.blogspot.de/2014/02/creando-un-usertype-de-hibernate-que-se.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top