开发者

SQL query construction - separate data in a column into two columns

I have a column that contains links. The problem is that the titles of the links are in the same column, so it looks like this:

linktitle|-|linkurl

I want link title and linkurl in separate columns. I've created a new column for the urls, so I'm looking for a way to extract them and update the linkurl column with them. Is there any clever way to construct a query that does this开发者_开发问答?


SELECT substring(field_name, 1, locate('|-|', field_name)-1) as title,
substring(field_name, locate('|-|', field_name)+3) as linkurl


UPDATE tablename
SET linktitle = SUBSTRING_INDEX(link , '|-|', 1 )
linkurl = SUBSTRING_INDEX(link , '|-|', -1 )


UPDATE TableName 
SET LinkTitle = Substring(LinkColumn, 0, InStr(LinkColumn, '|-|') - 1),
LinkUrl = Substring(LinkColumn, InStr(LinkColumn, '|-|') + 3)

With LinkColumn being the currently existing column, and LinkTitle & LinkUrl being where you want to store the separated data.


The query that solved this problem looks like this:

UPDATE jos_fabrik_posesapp
SET linktitle = Left(poselink, InStr(poselink, '|-|')-1),
linkurl = Substring(poselink, InStr(poselink, '|-|') + 3)

I'm not quite sure what it means, but it worked. Thanks for all replies!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜