SQL命令不更改数据

问题描述 投票:1回答:5

我正在使用下面的SQL命令更新名为Address的列,该值包含换行符,我想用分号替换它们。在Query Analayzer中,预览看起来很完美但是当我在Enterprise Manager(MS SQL 2000)中检查数据时,我仍然看到正方形,即换行。我不是在改变吗?我哪里错了?谢谢

alt text

sql sql-server sql-server-2000
5个回答
11
投票

您需要使用UPDATE语句!

SELECT中的替换只更改输出而不是表中的数据。

BEGIN TRAN
UPDATE Customers SET Address = REPLACE(Address, char(10) + char(13), ' ') .... etc

--Check you like the change
SELECT * FROM Customers
--COMMIT --uncomment this to commit the changes.

2
投票

那将是:

UPDATE customers SET Address = REPLACE(REPLACE(REPLACE(Address,CHAR(10)+CHAR(13),' '),CHAR(10),';'),CHAR(13),';')

1
投票
UPDATE Customers
   SET Address = REPLACE(.....)

1
投票

在select中执行替换时,仅更改“selected”数据。因此,替换是在向您显示数据之前完成的。 select不会触及表数据。列中的数据需要通过更新语句更新,如:

UPDATE customers SET
    Address = REPLACE(Address,CHAR(10)+CHAR(13), ' ')

-1
投票

问题是当第一次替换完成时,文本char(10)和char(13)被''替换,而下一次替换nerev什么都不做

© www.soinside.com 2019 - 2024. All rights reserved.