MySQLでのSQL文の書き方についてお尋ねします。

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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:ke_ishi No.1

回答回数269ベストアンサー獲得回数0

ポイント18pt

DELETE FROM var WHERE hoge=3;

id:takeuchi_k

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

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

| hoge |

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

| 1,2,3,4,5 |

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

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

+---------+

| hoge |

+---------+

| 1 |

+---------+

| 2 |

+---------+

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

2005/02/10 12:48:27
id:typista No.2

回答回数359ベストアンサー獲得回数7

ポイント18pt

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;

となります。

id:takeuchi_k

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

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

2005/02/10 12:49:31
id:taknt No.3

回答回数13539ベストアンサー獲得回数1198

ポイント17pt

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))

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

id:takeuchi_k

ありがとうございます。

2005/02/10 14:02:35
id:esseesse No.4

回答回数192ベストアンサー獲得回数0

ポイント17pt

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」のときに変更されないか、等も考慮する必要があります。

id:takeuchi_k

ありがとうございます。

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

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

2005/02/13 14:46:45

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません