使用SQL

时间:2015-07-02 06:30:48

标签: sql sql-server database

我目前有一张表,其中有一个独特的' col_0'我有2个不同索引的相同数据集。问题是我的应用程序中的复制功能会自动删除描述并添加从最后复制的#34;。

实施例

Col_0说明
答这是一个非常讨厌的应用问题 B这非常烦人(从专栏a复制)

我只是想搜索然后更新B以便它匹配我尝试通过部分说明加入它。

到目前为止,我已尝试过CHARINDEX,但我无法做到这一点。

1 个答案:

答案 0 :(得分:0)

我这样读了你的请求:"从a)列复制"表示使用col_0 =' A'从记录描述中复制的。并且您想要更新所有"复制自..."描述及其原始描述。

为了找到从..."复制的"记录我正在使用LIKE。要从字符串中提取col_0值,我使用了一些字符串函数(主要是REVERSE + CHARINDEX来查找最后一个空格,然后是SUBSTRING用于提取)。

update mytable upd
set description =
(
 select description
 from mytable orig
 where orig.col_0 = 
   substring(upd.description, 
             len(upd.description) - charindex(' ', reverse(upd.description)) + 2, 
             charindex(' ', reverse(upd.description) - 2
            )
)
where description like '%(Copied from column %)';