• ベストアンサー

シングルクォーテーションの変換

VB6からOracle9iのテーブルにシングルクォーテーション(半角)を含む文字列を登録する場合に、よく行われる変換方法は何がありますでしょうか? (1)シングルクォーテーションを取り除く (2)全角文字に置き換える (3)SQL文を変換しDBに登録できるようにする (3)の場合、使用される関数が載っているホームページがありましたらご教授のほどよろしくお願い致します。

  • Oracle
  • 回答数1
  • ありがとう数3

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

  • ベストアンサー
回答No.1

自分のやる方法ですが、2パターンでやる場合が多いです。 1.replace関数を使う 2.バインド変数を使う 1.では、'(シングルコーテーション)を''に変換して登録します。。 2.は、参考URLをご覧ください。 使い分けは、自分の場合、新規システムでは出来る限り、バインド変数で対応しています。 レガシーシステムの場合かつ、バインド変数を使用していないシステムにおいては、replaceでシングルコーテーションを重ねる処理を設けています。 以上、参考になればと思います。

参考URL:
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_s24.htm
0000hiro
質問者

お礼

ご丁寧なご回答ありがとうございます。 2.のバインド変数を使う方法をとってみようかと思います。 どうもありがとうございました。

関連するQ&A

  • '(シングルクォーテーション)の検索

    '(シングルクォーテーション)の検索 SQL Server 2005 Express Edition を使っています。 '(シングルクォーテーション)を含む文字列を検索したいのですが できずに困っています。 どのようなクエリを組むべきでしょうか? 教えてください。 よろしくお願いします。 現在は select * from テーブル名 where 列名 like '%\'%' としていますがエラーになります。

  • 半角シングルコーテーションを文字列として扱う方法

    VB6にて、シングルコーテーションを文字列として使用したいのですが、良い方法はないでしょうか。 例:マンション名等で   ○○○k's A棟        ↑   でシングルコーテーションを半角で使用したい。

  • シングルコーテーションの検索?

    シングルコーテーションとダブルコーテーションの検索はできるのでしょうか? 「%」や「_」ならエスケイプで検索できますけどコーテーションはできませんでした。 どなたか教えてください。 検索する項目はVARCHAR2です。 DB:Oracle9i

  • シングルクォーテーションを含む文字列の更新

    題名のとおりなのですが、データベースに更新するデータに シングルクォーテーションを含む文字があって、更新時にエラーとなってしまいます。 更新する文字列内にシングルクォーテーションの数が奇数あれば、さらに文字列にシングルクォーテーションを追加して、更新しようとしたんですが、ダメでした。 何か参考になるサイト、解決策をご存知の方、宜しくお願いします。 環境: OS:WinXPSP2 言語:VB6SP6 DB:SQLServer2000

  • ダブルクォーテーションを文字列として扱いたい

     初心者な質問で申し訳ありませんが、ダブルクォーテーション("")を  文字列として扱いたいのですが、どうもうまくいきません。  SQLなどだと、escapeって関数がありますよね?  VBにはそれに似たような関数はあるのでしょうか??

  • ダブルクオーテーション、シングルクオーテーション

    プログラミング 「"」  と 「'」 の違いについて プログラミングにおいてダブルクオーテーションとシングルクオーテーションは双方、「コンピュータに文字列と認識させる」記号だと思うのですが、プログラミング言語問わず " と ' に文字列を表す以外の特別な意味を持つケースは何かありますか? (文字列を表す以外の意味はありますか?)

    • ベストアンサー
    • Java
  • ダブルコーテーションやシングルコーテーション

    私の持っている参考書の中に、次のように、 変数をダブルコーテーション、シングルコーテーション、およびピリオドで囲んでいるSQL文があるのですが、 この場合、なぜ、ダブルコーテーション、またはシングルコーテーションのみでは駄目なのでしょうか? [参考書の記載] where カラム名>="'.変数.'" ※変数は日付が入ります。varchar型です。

    • ベストアンサー
    • MySQL
  • VBAで全角のダブルクォーテーションを削除

    VBAで全角のダブルクォーテーションを削除する関数を書きたいのですが、その方法が解りません。 VBEditorで全角クォーテーションを書いても、半角に変換されてしまいます。 Replaceなどで削除する場合、どのように書けばいいのでしょうか。

  • Oracleのシングルクォーテーション

    いつもお世話になっております。 Oracleの「'(シングルクォーテーション)」の使い方について教えてください。 テーブルAのフィールド001には2桁の数値が文字列型として格納されています。 (1)SELECT COUNT(*) FROM テーブルA WHERE フィールド001 = '09' でデータの抽出をしているのですが、データがあるにも係らず、「0」となってしまいます。 (2)SELECT COUNT(*) FROM テーブルA WHERE フィールド001 = 09 では、「09」だけでなく「9」までカウントしてしまいます。 データの中には「09」「9」が混在していて、これらを別々にカウントしたいのですが、(1)では結果を得ることが出来ません。シングルクォーテーションの使い方に間違いがあるのでしょうか? 別々にカウントする方法があればご教授いただけないでしょうか? よろしくお願いします。

  • 正規表現:囲われた文字列の置換

    シングルクオーテーションで囲われた文字列のシングルクオーテーションの前に文字を追加するように、正規表現を用いて置換しようと考えています。 全角文字は[^\x01-\x7E]で検索できるのはわかったのですが、シングルクオーテーションで囲われて、全角文字を含む場合という表現ができません。 下記のような、文字列を対象としています。置換をするのは、全角文字を含む文字列のみです。  全角文字のみ  半角文字のみ  全角半角文字両方 下記ののように置換したいです。 置換前: '全角文字や半角文字','testです','test'.'テスト'.'てすとtest','123' 置換後: A'全角文字や半角文字',A'testです','test'.A'テスト'.A'てすとtest','123' よろしくお願いします。