クエリーでTRIM関数をつかうには?


あかね  2003-12-17 04:24:23  No: 6247  IP: [192.*.*.*]

ご存知の方、いらっしゃいましたらご教授ください。

クエリーでデータを抽出しています。
データの末尾に全角スペースが付いているデータがあります。
SQLで、抽出項目をTRIMすることは可能ですか?
抽出したデータはDBComboBoxで表示しています。

そもそもデータ登録の際に、TRIMするべきですが…

編集    削除
にしの  2003-12-17 18:21:18  No: 6248  IP: [192.*.*.*]

DBが対応していればできますよ。
SELECT TRIM(対象フィールド) FROM テーブル
例えば、Oracleでは出来ます。他のDBはよくわかりません。

編集    削除
あかね  2003-12-18 00:39:16  No: 6249  IP: [192.*.*.*]

にしのさん  レスありがとうございます。

DBはOracleを使用しています。
Trimメソッドの使い方もご指導頂いたようにしました。

しかし、取得したデータをDBComboBoxに表示しているせいか、
対象フィールドをtrim処理すると認識できなくなるみたいで、
対象フィールドがみつからないというエラーになります。

対処法がわかりません。宜しくご指導お願いします。

編集    削除
通りすがり  2003-12-18 01:16:04  No: 6250  IP: [192.*.*.*]

Oracleに RTRIM/LTRIM はありますが、
TRIM は無かったような気がします。(新しいのにはあるのかな)

また、全角スペースを(R/L)TRIMでは取除けなかったと思います。
REPLACEで取除けますが、末尾以外も取除いてしまいます。

編集    削除
にしの  2003-12-18 01:28:46  No: 6251  IP: [192.*.*.*]

ああ、そういえば、Oracle8iからTRIMがあるようですね。

編集    削除
にしの  2003-12-18 01:29:39  No: 6252  IP: [192.*.*.*]

全角スペースは、
TRIM(フィールド, '  ')
では?
# TRIM('  ' FROM フィールド)かも。

編集    削除
通りすがり  2003-12-18 01:38:31  No: 6253  IP: [192.*.*.*]

わたしのOracle7だと、SELECT RTRIM(フィールド,'  ') FROM テーブル
ですね。勉強になりました。ありがとうございます。

編集    削除