これ何て呼びますか

お世話になります。

MySQLで テーブル名:table_abc 内に カラム名:member_no で数字が10桁と11桁の番号としてデータが格納されているのですが

カラム名:member_no の11桁の値の 先頭数字に 0 が付いて始まっているので
その11桁の先頭数字0をとり、10桁にしたいのですがどのようにSQL文を書けばよろしいでしょうか?
ちなみにもとからある10桁の値の方は、0以外の数字から始まっています。

(データベースへはphpMYadminからアクセスしています。)

猛暑の中、恐縮ですが 御教示頂ければ幸いです。

質問者からの補足コメント

  • うーん・・・

    説明不足で申し訳ありません。
    データを抽出するのではなく
    member_no カラムのデータ自体を修正する事を目的としておりました。

    一旦、テーブル内にある menber_id と共に対象となるデータを取り出して
    アップデートしたほうが良いのでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/08/03 10:51

A 回答 (2件)

>member_no カラムのデータ自体を修正



であれば普通に
update table_abc set member_no=right(member_no,10)
    • good
    • 0
この回答へのお礼

ありがとうございました!!
御教示頂いた内容でアップデータ出来ました。

 以下手順をまとめておきます。
  データにスペースがあると結果が異なりますので注意が必要です。
  ・右スペースをとる
   update table_abc set member_no=rtrim(member_no)

  ・左スペースをとる
   update table_abc set member_no=ltrim(member_no)

  ・右から10桁目までを採用する
   update table_abc set member_no=right(member_no,10)

お礼日時:2015/08/04 09:58

>数字が10桁と11桁の番号としてデータが格納



文字列型で保存されているのでしょうか?

単純に文字列であれば
SELECT right(member_no,10) FROM table_abc

また0がついていても数値として処理するならキャストする
SELECT cast(member_no as signed) FROM table_abc
この回答への補足あり
    • good
    • 0

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