-1

我有一个项目表,在描述字段中,我想在很多记录中用 '' 替换 Char(10)。

我可以像这样手动逐个记录替换它:

UPDATE tblProjects
SET    Description = (SELECT Replace(Description, Char(10), ' ')
                      FROM   tblProjects
                      WHERE  ( Description LIKE '%' + Char(10) + '%' )
                             AND ProjectID = XAXD)
WHERE  ( Description LIKE '%' + Char(10) + '%' )
       AND ProjectID = XAXD

但想要一个更通用的解决方案,例如 foreach 项目,然后将 ProjectID 作为变量。

4

3 回答 3

0

不能简单写吗

UPDATE tblProjects
SET    Description = Replace(Description, Char(10), ' ')

?

于 2012-10-29T15:06:22.823 回答
0

你不能就这样吗

UPDATE tblProjects SET    

   Description =  Replace(Description, Char(10), ' ')

WHERE  ( Description LIKE '%' + Char(10) + '%' )
       AND ProjectID = 'XAXD'

您在 2 个地方重复了这种情况

您还可以删除该AND部分以更新所有具有char(10)

UPDATE tblProjects SET    

   Description =  Replace(Description, Char(10), ' ')

WHERE  ( Description LIKE '%' + Char(10) + '%' )

或使用参数@ProjectID代替'XAXD'

Declare @ProjectID varchar(50)

SET @ProjectID = 'XAXD'
UPDATE tblProjects SET    

   Description =  Replace(Description, Char(10), ' ')

WHERE  ( Description LIKE '%' + Char(10) + '%' ) AND
       ProjectID = @ProjectID
于 2012-10-29T15:07:01.057 回答
0

我怀疑你需要嵌套选择。为什么不只是:

UPDATE tblProjects
SET    Description = Replace(Description, 'whatever', '')
WHERE  Description LIKE '%whatever%'
       AND ProjectID = XAXD
于 2012-10-29T15:07:38.187 回答