• ベストアンサー

SQL文で右から1文字だけ削除するやり方

MySQL 5.1 利用中です。 テーブルに登録されている文字列が以下のようになっている場合 右から1文字だけを削除するSQL文を教えてください 右から「部とか課や/」が削除されるイメージです。 →SQL実行前 name 経理課 営業部 開発部 部門開発部 RアンドD/ →SQL実行後 name 経理 営業 開発 部門開発 RアンドD よろしくお願い致します。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

nameのケツが「課」か「部」を調べるなら正規表現でしょうね where name regexp '(部|課)$' これを利用してupdateすればよいです //データ作成 create table bumon (name varchar(30)); insert into bumon values('経理課'),('営業部'),('開発部'),('部門開発部'),('RアンドD'); //更新 update bumon set name=left(name,char_length(name)-1) where name regexp '(部|課)$'

anan19
質問者

お礼

//更新 のところを活用させていただき希望通りに動きました! アドバイスありがとうございます。

その他の回答 (1)

  • akubi_m
  • ベストアンサー率22% (12/54)
回答No.1

SELECT SUBSTRING(NAME, 1, CHAR_LENGTH(NAME)-1) FROM テーブル名 でどうでしょうか。

anan19
質問者

お礼

アドバイスありがとうございます。 セレクトでは希望通りに動いたのですが、updateさせたかったので、、

関連するQ&A