0

我真的想在工作时保持谨慎。

我需要在我的 SQL 查询中用一些文本替换空白,但我不想实际更新到数据库中,只想更新到我查询的数据。

如果我使用Replace()它会在服务器上替换还是只替换我查询的数据?

你能给我举个例子吗,我如何使用 Replace() 只替换我读入的数据而不是服务器。

4

2 回答 2

5

您如何使用REPLACE与更新数据无关。

相反,重要的是您是否使用SELECTorUPDATE语句。

一条SELECT语句只会查询(检索)数据,它不会在数据库中修改它。

甲骨文文档:

使用 SELECT 语句或子查询从一个或多个表、对象表、视图、对象视图或具体化视图中检索数据。

一个UPDATE语句将修改数据库中的数据,假设它找到匹配的行。

甲骨文文档:

使用 UPDATE 语句更改表或视图的基表或实例化视图的主表中的现有值。

于 2012-09-19T15:13:39.640 回答
3

If you use Replace() in a SELECT then it will only replace it in your query.

SELECT version, this will replace any blank spaces in your field with no space in the data you return:

SELECT replace(yourField, ' ', '')
FROM yourtable

If you use Replace() in an UPDATE then you will be updating it in the server.

UPDATE version, this will update all values in your field to replace any blank spaces:

UPDATE yourTable
SET yourfield = replace(yourField, ' ', '')
于 2012-09-19T15:15:05.810 回答