0

テーブルに FileName という名前の列があり、ディレクトリを保存したことを認識していません。たとえば、値は \test-srv-1\Uploads\Test.jpg です。ディレクトリを削除する更新ステートメントを実行したいTest.jpg をそのままにしておきます。更新する行が 1000 行あります。updateステートメントを使用してSQLサーバーでこれを行う簡単な方法はありますか? サーバーが変更されると、メンテナンスの悪夢になります。うーん、ずっと前にこれを捕まえていたらよかったのに。

4

1 に答える 1

1

この種のことは、 REVERSEを使用すると非常に簡単です。

次のようにして、名前の変更がどのように見えるかをテストできます。

select right(MyColumn, charindex('\', reverse(MyColumn)) - 1)
from MyTable
where charindex(MyColumn, '\') > 0

出力に満足したら、次のようにします。

update MyTable
set MyColumn = right(MyColumn, charindex('\', reverse(MyColumn)) - 1)
where charindex(MyColumn, '\') > 0
于 2013-04-02T18:06:36.933 に答える