プロが教えるわが家の防犯対策術!

SQLで、filed1において、13桁目から6桁に AAA と入っているものを、 BBB と置き換えたいのですが、うまくいきません。

作った文
update  Table-1
 set SUBSTRING(filed1,13, 6)= 'BBB'
where
SUBSTRING(filed1,13, 6) like '%AAA%'

これだと
Line 1: Incorrect syntax near '('.
というエラーメッセージが出ます。
どの様にすれば うまくいきますか?
よろしくお願いします。

A 回答 (1件)

こんにちは



SUBSTRINGは文字列から文字を抜き出す関数だからできないのです.
データベースに何をお使いかはわからないのですが,以下のような感じにするといいと思います.

『'filed1の13桁までの文字列'と'BBB'と'filed1の16桁から最後までの文字列'を連結したものをfiled1にセットする』
 set field1 = substring(filed1, 1, 13) + 'BBB' + substring(filed1, 16, length())

注意:お使いのデータベースによって式を変える必要があると思います.
    • good
    • 1
この回答へのお礼

ありがとうございました!!
できました~。

ちなみにSQLのなかにいろいろ種類があるんですかね?
バージョンとかですかね?

お礼日時:2004/10/28 17:04

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

このQ&Aを見た人はこんなQ&Aも見ています