-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 に答える