5

データベースに次のテーブルとデータがあります。

tbl写真

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列のデータには、次の 2 つの形式があります。

{GARBAGE DATA} - {TITLE DATA} - Photographer: ..., or
{GARBAGE DATA} - Photographer: ...

Title基本的に、列が空の行が何千もあります。どういうわけかそれを列から引き出す必要がありDescriptionます。

Titleは、列の最初のダッシュと最後のダッシュの間に存在しますDescription。データは次のようになります。

tbl写真

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

列を解析し、その解析されたデータで別の列を更新するスクリプトを作成するにはどうすればよいですか?

4

3 に答える 3

3

次のようにしてみてください:

update tblPhotos
    set title = substring(description, charindex('-', description)+1,
                          (charindex('-', description, charindex('-', description) + 1) -
                           charindex('-', description)
                          )-1
                         )
    where title is null and description like '%-%-%'

タイトルからスペースを削除する必要がある場合があります。

于 2013-05-13T18:47:04.943 に答える