我真的很想在工作时保持谨慎。
我需要在我的SQL查询中用一些文本替换空白但我不想实际更新到数据库,只是想更新到我查询的数据。
如果我使用Replace()
它会在服务器上替换它还是只替换我查询的数据?
你能给我提供一些例子,我怎样才能使用Replace()来替换我不读入服务器的数据。
答案 0 :(得分:5)
如何使用REPLACE
与更新数据无关。
而是,您使用的SELECT
或UPDATE
语句是否重要。
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, ' ', '')