まったくの初心者で申し訳ないのですが、

MYSQL 5.0系で
カラムAに以下のURLが入ってます。
http://******/aaa/123.html
http://******/aaa/212.html
http://******/aaa/555.html

こちらを、SQL文のSELECTの結果で
123
212
555
というように取得したいのですが
どのようなクエリを記述すればいいでしょうか?

http://******/などは可変します。

最終的に、VIEWを作成したいので、
データを取り出して、phpなどのプログラムで
行うなどの、回答は入りません。

皆様の、お力を貸して下さい。

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

回答2件)

id:GreenStar No.1

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

ポイント45pt

SUBSTRING_INDEX 関数を二つ使って抽出!

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('http://******/aaa/123.html', '/', -1), '.', 1)
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(a, '/', -1), '.', 1)
FROM テーブル

詳しくは下記参照。

http://dev.mysql.com/doc/refman//5.1/ja/string-functions.html

http://dev.mysql.com/doc/refman/4.1/ja/string-functions.html

id:hopefully

こんな関数があるんですね。

ありがとうございます。

2010/03/16 11:02:54
id:Bombastus No.2

回答回数409ベストアンサー獲得回数52

ポイント25pt

こんな感じでしょうか。

処理時間がかかりそうな気がして心配です。

SELECT SUBSTRING(カラムA,
  (LOCATE('/aaa/', カラムA) + 5),
  (LOCATE('.html', カラムA) - LOCATE('/aaa/', カラムA) - 5))
  FROM テーブル名
  WHERE カラムA like '%/aaa/%html';
id:hopefully

結構な処理ですね。

こちらも試してみたいと思います。

ありがとうございます。

2010/03/16 11:03:23

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

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

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

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

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