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!
精彩评论