値を取得した際の空白を削除する
Oracle DBからたまに空白を取得してしまって、その後データを新しく送り返すときに空白を削除し忘れていたら「値が大きすぎます」というエラーメッセージに遭遇してしまうことがある。
悪いことは言わないからSQLの関数で処理しよう。
あと、NLS_LANGとは疑わなくていいと思う。
基本的にJDBCを使う場合、Javaコードでなんとかするのは最終手段だと思う。
使う関数
使う関数は2つある。
####[RTRIM関数]
右側の空白を消してくれる関数
####使用法
列名をRTRIMで囲う
SELECT RTRIM(列名) FROM (テーブル名)
####[LTRIM関数]
左側の空白を消してくれる関数
SELECT LTRIM(列名) FROM (テーブル名)
組み合わせて両端の空白を削除する
勘のいい人はもう築いていると思うが、これを組み合わせると前後の空白が完全に削除できる。
右側の空白を削除してから、左側の空白を削除を実行すればいい(逆もまた然り)。
SELECT LTRIM(RTRIM(列名)) FROM (テーブル名)
なお、列名が長いのでASで修飾すると良いと思うよ。