アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のようなテーブルで、項目aに入力されているデータに含まれている[aaaa]を[bbbb]に置き換えたいのですが、どなたか1回で置き換えられるSQL文を教えていただけないでしょうか。
どうぞ、宜しくお願い致します。

table:TEST
[項目名]/[データ]
 a / aaaaみかんりんご

■変換後■
[項目名]/[データ]
 a / bbbbみかんりんご

A 回答 (6件)

ACCESSは詳しくありませんが..



update TEST set [データ]=replace([データ],"aaaa","bbbb")

という更新クエリを実行すれば良いかと思います。
    • good
    • 2

どうしてもSQL一文だけでということであれば、



仮定のみの話ですが、まず
ASP上から、SQL文を使用して、ACCESSのモジュール内に作成した関数(function)が呼び出せるかどうか?

もし、呼び出せるなら、Replace相当の自作関数をAccess側に実装します。
http://www.qoop.ws/blog/archives/000053.html
辺りを参考にしてください。

あとはSelect文の中でReplaceを使用すればいいのですが、
なにせ、検証してないので本当に出来るかどうかはわかりません。
    • good
    • 0
この回答へのお礼

いろいろとありがとうございました。
ちょっと急ぎだったもので、一先ずASP側でReplaceしてuploadすることにしました。

本当にありがとうございました。
上記の自作関数は、参考にさせていただきます。

今後とも宜しくお願い致します。

お礼日時:2005/04/05 16:37

ASPは少ししかかじってませんが、


ASP側にもReplaceないですか?
あれば、取得したデータに
Replaceを使用すれば大丈夫かと思いますが

今、コーディング出来る環境ではないので、
どうなるかはちょっと解りませんが・・・
    • good
    • 0
この回答へのお礼

AccessでReplaceが使えない理由がわかりました。
↓参照
http://www.accessclub.jp/bibouroku/ziten.cgi?act …

>ASP側にもReplaceないですか?
>あれば、取得したデータに
>Replaceを使用すれば大丈夫かと思いますが

「Selectして取得したデータにReplaceかけて、再度updateする。」ってことですよね?
この方法は、知っていたのですが、SQL実行だけで出来ないものかと。。。

出来ないものとわかれば、あきらめてコーディングにかかりたいと思います。
色々ありがとうございました。

お礼日時:2005/04/04 18:01

追加情報:



VBA内での記述であれば、

Select Replace([TEST].[a],'aaaa','bbbb') AS a FROM TEST
になります。
    • good
    • 0
この回答へのお礼

開発は、MicrosoftASP で行っています。

お礼日時:2005/04/04 17:36

@dataはSqlServer内で使用する変数みたいなものです。



今回はACCESSだということなので、
クエリーであれば、フィールド部に以下のような感じで記述します。

テーブル名をTEST
フィールド名をaとした場合。

a : Replace([TEST].[a],'aaaa','bbbb')

これで大丈夫かと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
早速実行してみました。
すると、以下のメッセージが表示されてしまいました。
----------------------------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 式に未定義関数 'Replace' があります。
----------------------------------------------------------------------------------

手元の書籍に、MS Accessでは、「Replace」未対応と書かれていました。。。

代わりとなるようなものはあるのでしょうか?

お礼日時:2005/04/04 17:35

SqlServerだったらReplaceとか



DECLARE @data AS NVARCHAR(50)
SET @data='aaaaみかんりんご'
SET @data = Replace(@data,'aaaa','bbbb')
SELECT @data
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
勉強不足で申し訳ありません。
もう少し教えてください。
>DECLARE @data AS NVARCHAR(50)
>SET @data='aaaaみかんりんご'
>SET @data = Replace(@data,'aaaa','bbbb')
>SELECT @data

このSQL文は、これで完結ですか?
それと @data とは、何でしょうか?

情報不足ですみません。
DBは、MS Accessです。

お礼日時:2005/04/04 16:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す