人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQLでのSQL文の書き方についてお尋ねします。
1,2,3,4,5というデータがテーブルvarのカラムhogeに入っています。
3だけを取り除いて、1,2,4,5というデータに変えたいのですが、SQL文でできますでしょうか?

●質問者: takeuchi_k
●カテゴリ:コンピュータ
✍キーワード:hoge MySQL SQL カラム データ
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● ke_ishi
●18ポイント

http://google.co.jp/

Google

DELETE FROM var WHERE hoge=3;

◎質問者からの返答

すいません。舌足らずでした。

+-----------+

| hoge |

+-----------+

| 1,2,3,4,5 |

+-----------+

このような形式なのです。

+---------+

| hoge |

+---------+

| 1 |

+---------+

| 2 |

+---------+

というわけではないです。


2 ● typista
●18ポイント

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_k03.htm

SQL 基礎編 (その三) データ操作 insert、update、delete、commit、rollback - SAK Streets

上記URLで基礎的なSQLから、一通り網羅されています。

データに変えたいというのは、レコードの削除という意味なら

→ delete from var where hoge=3;

抽出するときにhoge=3のレコードだけ除外するのであれば、

→ select * from var where hoge!=3;

となります。

◎質問者からの返答

悪い質問のしかたで、失礼いたしました。

1の方へのコメントで書いたとおりのデータです。


3 ● きゃづみぃ
●17ポイント

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_14.htm

MySQL 編14 - 文字関数、連結、空白削除、置換、切出、検索、長さ、数値 - SAK Streets

’3,’

を なくすだけならば・・・。

replace(’1,2,3,4,5’, ’3,’, ’’)

または

concat(substring(’1,2,3,4,5’,1,locate(’,’, ’1,2,3,4,5’,locate(’,’, ’1,2,3,4,5’)+1)),substring(’1,2,3,4,5’,locate(’,’, ’1,2,3,4,5’,locate(’,’, ’1,2,3,4,5’,locate(’,’, ’1,2,3,4,5’)+1)+1) +1))

てなのは どうでしょうか?

◎質問者からの返答

ありがとうございます。


4 ● esseesse
●17ポイント

http://www.hatena.ne.jp/1108003299

人力検索はてな - MySQLでのSQL文の書き方についてお尋ねします。 1,2,3,4,5というデータがテーブルvarのカラムhogeに入っています。 3だけを取り除いて、1,2,4,5というデータに変えたいので..

UPDATE var SET hoge=replace(hoge,”,3,”,”,”) WHERE hoge=”1,2,3,4,5”;

で1,2,4,5になります。

一応、WHERE句はhoge=”1,2,3,4,5”にしていますが、それ以外の条件の場合、本当に「,3,」を「,」に変更してよいかを検討する必要があります。

例えば、WHEREの条件で「5,4,3,2,1」が引っかかったときに変更してよいのか、

または「1,2,3」が引っかかったときに変更するのか、「11,12,13,14」のときに変更されないか、等も考慮する必要があります。

◎質問者からの返答

ありがとうございます。

ご指摘の問題はあると思いますが、今回は大丈夫です。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ