我的数据库中有这个表和数据:
tblPhotos
ID | Title | Description
------------------------------
1 | NULL | Some data - Title 123 - Subtitle - Photographer: John Doe
2 | NULL | Some data - Photographer: Jane Doe
3 | NULL | Some data - Title 345 - Photographer: John Doe Jr
Description
中的数据列有两种格式:{GARBAGE DATA} - {TITLE DATA} - Photographer: ..., or
{GARBAGE DATA} - Photographer: ...
基本上,我有数千行,其中
Title
列是空的。我需要以某种方式将其从 Description
中拉出柱子。Title
存在于 Description
的第一个破折号和最后一个破折号之间柱子。数据应如下所示:tblPhotos
ID | Title | Description
-------------------------------------------------------------------------------------
1 | Title 123 - Subtitle | Some data - Title 123 - Subtitle - Photographer: John Doe
2 | NULL | Some data - Photographer: Jane Doe
3 | Title 345 | Some data - Title 345 - Photographer: John Doe Jr
如何制作一个脚本来解析一列,并用解析的数据更新另一列?
最佳答案
尝试这样的事情:
update tblPhotos
set title = substring(description, charindex('-', description)+1,
(charindex('-', description, charindex('-', description) + 1) -
charindex('-', description)
)-1
)
where title is null and description like '%-%-%'
您可能需要修剪标题中的空格。
关于sql - 通过使用 T-SQL 解析另一列来更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16528651/