在SQL查询中使用Replace时我需要知道什么?

时间:2012-09-19 15:10:53

标签: sql oracle oracle10g

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

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

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

你能给我提供一些例子,我怎样才能使用Replace()来替换我不读入服务器的数据。

2 个答案:

答案 0 :(得分:5)

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

而是,您使用的SELECTUPDATE语句是否重要。

SELECT语句只会查询(检索)数据,不会在数据库中对其进行修改。

Oracle Docs:

  

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

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

Oracle Docs:

  

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

答案 1 :(得分:3)

如果您在SELECT中使用Replace(),那么它只会在您的查询中替换它。

SELECT版本,这将替换您所返回的数据中没有空格的字段中的任何空格:

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

如果您在Replace()中使用UPDATE,那么您将在服务器中更新它。

UPDATE版本,这将更新字段中的所有值以替换任何空格:

UPDATE yourTable
SET yourfield = replace(yourField, ' ', '')