仕事をするときは本当に気をつけたいです。
SQLクエリで空白をテキストに置き換える必要がありますが、実際にデータベースに更新するのではなく、クエリするデータに更新するだけです。
私が使用Replace()
する場合、それはサーバー上でも置き換えられますか、それともクエリしたデータだけに置き換えられますか?
サーバーに読み込まずに読み込んだデータのみを置換するためにReplace()を使用する方法の例を教えてください。
使用方法REPLACE
は、データの更新とは関係ありません。
SELECT
むしろ、重要なのはまたはUPDATE
ステートメントを使用するかどうかです。
ステートメントはデータをクエリ(取得)するSELECT
だけで、データベース内でデータを変更することはありません。
Oracle Docs:
SELECTステートメントまたはサブクエリを使用して、1つ以上の表、オブジェクト表、ビュー、オブジェクト・ビュー、またはマテリアライズド・ビューからデータを取得します。
ステートメントは、一致するUPDATE
行が見つかったと想定して、データベース内のデータを変更します。
Oracle Docs:
UPDATEステートメントを使用して、表、ビューのベース表、またはマテリアライズド・ビューのマスター表の既存の値を変更します。
Replace()
で使用する場合SELECT
は、クエリでのみ置き換えられます。
SELECT
バージョンでは、これにより、フィールド内の空白スペースが、返されるデータ内のスペースなしに置き換えられます。
SELECT replace(yourField, ' ', '')
FROM yourtable
で使用する場合Replace()
はUPDATE
、サーバーで更新します。
UPDATE
バージョンでは、これによりフィールド内のすべての値が更新され、空白スペースが置き換えられます。
UPDATE yourTable
SET yourfield = replace(yourField, ' ', '')