• ベストアンサー

Trimの使い方

VBからSQL文を実行する場合、 その中で”Trim”を使用しても、実際に取得した値には 反映されません。(空白が削除されません) どのようにすれば”Trim”を使うことができるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mitu_fu
  • ベストアンサー率90% (9/10)
回答No.2

ちなみに・・・ SQL Serverで「Ltrim」「Rtrim」を使用した場合は 半角スペースを切り捨てます。 全角スペースを削除したい場合は別な方法を使用しなけ ればいけませんよ もし↑のような原因であれば、↓こんな方法もあるよ Select Rtrim(Replace('あああ△__','△','_')) '△'(全角スペース)を'_'(半角スペース)に置き換えて からRTrimで半角スペースを切り捨てます

web_ryu
質問者

お礼

回答ありがとうございます。 おっしゃるとおり、全角スペースを削除しようとしていました。

その他の回答 (1)

  • jurarumin
  • ベストアンサー率34% (190/544)
回答No.1

DBの環境が何なのか書いてくださいね。 SQL Serverの場合「Trim」は、存在しません。 また、「Trim」は、取得文字の左端の空白を削除する関数です。 右端の空白を削除する場合は、「Rtrim」を使います。 「Ltrim」「Rtrim」を使って確認してみてください。。

web_ryu
質問者

お礼

回答ありがとうございます。 「Ltrim」「Rtrim」を使ってみましたが、 やはり取得した値には、空白が削除されていませんでした。。。

関連するQ&A

  • エクセル関数=TRIM()ができません

    =TRIM()という関数を使って余分な空白の削除を行うのですがどうしても空白が取れません。 計算されるところまでは良いのですが、それをコピーし、値の貼付けをすると空白が入ってしまいます。何故でしょう。どうしたら空白が取れるのでしょう。教えて下さい。

  • 条件式にtrimを入れたい

    Mysqlでselectする時に、条件で指定した値とDB内のデータをtrim(空白除去)した値が一致したレコードを抽出されるようにしたいのですが・・・ 例えば、 あるテーブルの項目aaaの値が'あ いうえお'だとします。 条件式を where aaa='あいうえお' とした場合でもヒットさせたいのですが、どうすれば良いのでしょうか? aaaの値の空白を除去したものと一致すればいい、という事で select aaa from テーブル where trim(aaa)='あいうえお' ↑このようなイメージなのですが・・・ どなたか簡単なやり方を知っていれば教えて頂けませんでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • エクセル,マクロのTrimの使い方

    エクセル2000を使っているのですが,マクロの使い方がよくわかりません. コピーペーストしてきた大量の文字行列の先頭末尾に余分な空白があって正しくソートされません.そこで,Trimを使おうと思ったのですが,使い方がいまいちよくわからず,エラーが出て実行できません. また,重複した内容のセルを抽出・削除もしたいのです. どうぞ教えてくださいm(_ _)m

  • 動的にSQLを作成し、値を取得する方法について

    Pro*Cでテーブル名を動的に与え、カラムの1つであるシーケンス番号の最大値を取得しようとしています。 ネットで調べたところ、 EXEC SQL DECLARE S1 STATEMENT; sprintf(buf1, "実行するSQL文", ); EXEC SQL PREPARE S1 FROM :buf1; EXEC SQL EXECUTE S1 INTO :取得結果格納領域; という構文で出来るということがわかったのですが、最後のところで、取得結果格納領域に値が入りません(正確には初期値「0」が入ります)。 取得したいデータを直接SQL*PLUSで実行すると0ではない値となるのですが、どのようにすれば値が取得できるかをご教授いただければと思います。 実行するSQL文の中には「%s」を含んでおり、sprintfの第3引数でテーブル名を渡しているので、buf1の中身はそのままSQL*PLUSで実行できる内容となっています。 それぞれのEXEC SQLの後にSQL終了コード(sqlca.sqlcode)を取得しましたが、どれも0(正常終了)で終わっていました。 どうかご教授のほど、よろしくお願いします。

  • 文字列中の空白削除について

    PHP4で、文字列の前後に空白が場合はtrimを使って削除可能ですが、文字列の中に含まれていたとき、その空白を削除するいい方法はあるでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • VB6でのSQL実行について

    VB6でのSQL実行について VB6でのSQL実行について困っています。 SQL文を作成し、ダイナセットで実行している最中にも 再度別のSQL文をダイナセットで実行することは可能なのでしょうか? 言語はVB6.0、DBはOracle9iを使用しています。 イメージ的にはこんな使い方をしたいです。 dim lngRecordRow1 as long 'レコード数1 dim lngRecordRow2 as long 'レコード数2 dim OraDynaset1 As OraDynaset dim OraDynaset2 As OraDynaset dim strSQL as string 'SQL文 dim lngCnt1 as long 'ループカウンタ1 dim lngCnt2 as long 'ループカウンタ2 strSQL= ---SQL文作成1回目--- Set OraDynaset1 = OraDatabase.CreateDynaset(strSQL, ORADYN_READONLY) 'SQL文実行1回目 lngRecordRow1 = OraDynaset1.RecordCount for lngCnt1 = 1 to lngRecordRow1 '--- 処理 --- strSQL= ---SQL文作成2回目--- Set OraDynaset2 = OraDatabase.CreateDynaset(strSQL, ORADYN_READONLY) 'SQL文実行2回目 lngRecordRow2 = OraDynaset2.RecordCount for lngCnt2 = 1 to lngRecordRow2 '--- 処理 --- next lngCnt2 next lngCnt1 1回目で取得したSQL実行結果を行単位でループをまわしつつ、1回目で取得したレコードの結果を条件に使用して別のSQL文を作成し、ループをまわしている最中に実行したいです。 その際、2回目のSQLの結果が2レコード以上の場合、さらにループをまわして条件判別をしたいです。 かなり困っています。回答待ってます。

  • GET送信の最後の空白を取得するには?

    GET送信で、最後の空白を取得したいと考えています。 例えば、'aaa'と'aaa 'とを区別して値として取得したいのです。 しかしながら、最後の空白は自動的に削除されているようなので、うまくいきません。 どのようにすればよいでしょうか? できれば、GET送信する前にその値を加工しないで実行する方法が知りたいです。 (例えば、末尾に'---'などを追加し、値を取得後にその値から末尾の'---'を削除するなど。) よろしくお願い致します。

    • 締切済み
    • PHP
  • trim()メソッドの使用方法とキャストの仕方について

    こんばんは、今回はtrim()メソッドの使用方法とキャストの方法についてお伺い致します。 trimメソッドを使用して文字列の前後の空白を削除したいのですが、 通常 String str = " 「こんにちは」"; str = str.trim(); とコーディングしコンパイルして表示するとちゃんと「こんにちは」となるのすですが、これが ArrayList list = new ArrayList(); BufferedReader br= new BufferedReader(new FileReader(Test.txt); while((str = br.readLine()) !=null){ str = str.trim(); list.add(str); } br.close(); とコーディングしコンパイルは通るのですが、 「こんにちは」のままで"「"の前にある空白が削除されてません。 私なりに「型」の違いでが原因ではないかと思い、java.io.ArrayList型からjava.lang.String型へキャストしようとしているのですが、コンパイルエラーが出てしまします。 プログラムコードは ArrayList list = new ArrayList(); String s; s = (String)list; としています。 エラー内容は ScheduleControlCall.java:142: 変換できない型 出現: java.util.ArrayList 要求: java.lang.String s = (String)list; ^ エラー 1 個 となっています。 度々ですが、ご指導お願い致します。

    • ベストアンサー
    • Java
  • VB5+DAO3.5でSQLサーバーに接続方法

    実行環境はNT4.0、DAOは3.5(3.51ではない) VB5でSQLサーバーに接続したいのですが、 できるのでしょうか? できればODBC経由でなく直に繋ぎたいのですが、むりならODBC経由でもいいです。 サンプルコードをお願いいたします。 1)DB接続、2)SQL文発行&レコードセット取得 位まであればありがたいです。 上記が無理の場合RDOでの使用方法があれば お願いいたします。

  • ストアド実行時エラー

    vb.net2010とoracle10gを使用してます ストアドをVB.NET2010でODBC経由で実行するとodbc4200 ora-00900 sql文が無効 ですとなります。 このストアドをsql/plusからだと問題無く実行出来ます。 なぜでしょうか?