0

いくつかのフィールドを持つarticlesというテーブルがあります。コンテンツフィールドにはURLがあります。このURLをコピーして、クエリを使用して別のフィールドに配置したいと思います。しかし、URLを選択するだけでも問題が発生します。私は次のようなもので手動でそれを行うことができます...

"this is content http://blah"

その後 SELECT substring(content, 17, 11) FROM articles WHERE content LIKE '%http%'

しかし、各記事のURLを検索して見つけるクエリを作成することは可能ですか?それとも、独自の関数を作成する必要がありますか?それともスクリプトジョブでしょうか?助けてくれてありがとう。

4

1 に答える 1

0
UPDATE url_copy 
SET url = SUBSTRING(
  SUBSTRING(content, POSITION('http://' IN  content)), 
  1, 
  POSITION(' ' IN CONCAT(SUBSTRING(content, POSITION('http://' IN content)), ' ')) -1
);

私がテストしたデータ:

SELECT * FROM url_copy;
+-------------------------------------------------------------+--------------------------------+
| content                                                     | url                            |
+-------------------------------------------------------------+--------------------------------+
| this is content and http://facebook.com/puggan.se is my url | http://facebook.com/puggan.se  |
| http://puggan.se/                                           | http://puggan.se/              |
+-------------------------------------------------------------+--------------------------------+
2 rows in set (0.00 sec)
于 2012-06-27T18:31:59.837 に答える