0

仕事をするときは本当に気をつけたいです。

SQLクエリで空白をテキストに置き換える必要がありますが、実際にデータベースに更新するのではなく、クエリするデータに更新するだけです。

私が使用Replace()する場合、それはサーバー上でも置き換えられますか、それともクエリしたデータだけに置き換えられますか?

サーバーに読み込まずに読み込んだデータのみを置換するためにReplace()を使用する方法の例を教えてください。

4

2 に答える 2

5

使用方法REPLACEは、データの更新とは関係ありません。

SELECTむしろ、重要なのはまたはUPDATEステートメントを使用するかどうかです。

ステートメントはデータをクエリ(取得)するSELECTだけで、データベース内でデータを変更することはありません。

Oracle Docs:

SELECTステートメントまたはサブクエリを使用して、1つ以上の表、オブジェクト表、ビュー、オブジェクト・ビュー、またはマテリアライズド・ビューからデータを取得します。

ステートメントは、一致するUPDATE行が見つかったと想定して、データベース内のデータを変更します。

Oracle Docs:

UPDATEステートメントを使用して、表、ビューのベース表、またはマテリアライズド・ビューのマスター表の既存の値を変更します。

于 2012-09-19T15:13:39.640 に答える
3

Replace()で使用する場合SELECTは、クエリでのみ置き換えられます。

SELECTバージョンでは、これにより、フィールド内の空白スペースが、返されるデータ内のスペースなしに置き換えられます。

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

で使用する場合Replace()UPDATE、サーバーで更新します。

UPDATEバージョンでは、これによりフィールド内のすべての値が更新され、空白スペースが置き換えられます。

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