• 締切済み

SQL の Update文(?) と substring  について

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 '('. というエラーメッセージが出ます。 どの様にすれば うまくいきますか? よろしくお願いします。

みんなの回答

回答No.1

こんにちは SUBSTRINGは文字列から文字を抜き出す関数だからできないのです. データベースに何をお使いかはわからないのですが,以下のような感じにするといいと思います. 『'filed1の13桁までの文字列'と'BBB'と'filed1の16桁から最後までの文字列'を連結したものをfiled1にセットする』  set field1 = substring(filed1, 1, 13) + 'BBB' + substring(filed1, 16, length()) 注意:お使いのデータベースによって式を変える必要があると思います.

ayami-m
質問者

お礼

ありがとうございました!! できました~。 ちなみにSQLのなかにいろいろ種類があるんですかね? バージョンとかですかね?

関連するQ&A