SQLの空白をすべて削除します(タブ、スペース、エンタープライズ値など)


**[SQL]すべての空白(タブ、スペース、エンタープライズ値など)を削除**

replace (키워드,'바꿀내용','어떻게바꿀건지내용')
乙、乙
replace (키워드, ' ', '')
書くと、空白になるだけです.
すべての白いスペースを削除するために(外部からのデータはいつでも奇妙な値で表示される可能性があるため)
Regexp_replace (키워드,  '\S*', '

로 작성해야 한다.

---

- Oracle 공식문서는 여기

[https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions130.htm](https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions130.htm)

![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/642598f9-bf10-4a84-abb3-717a47bd7f79/Untitled.png)

REGEXP_REPLACE는 문자열에서 정규식 패턴을 검색할 수 있도록 하여 REPLACE 함수의 기능을 확장합니다. 기본적으로 이 함수는 정규식 패턴이 나타날 때마다 replace_string으로 교체된 source_char를 반환합니다. 반환된 문자열은 source_char와 동일한 문자 집합에 있습니다. 함수는 첫 번째 인수가 LOB가 아니면 VARCHAR2를 반환하고 첫 번째 인수가 LOB이면 CLOB를 반환합니다.

---

**문법**

regexp_replace() 함수의 구문(Syntax)은 다음과 같다.

```sql
SELECT regexp_replace( string, pattern 
			[, replacement_string 
			[, start_position 
			[, nth_appearance [, match_parameter ] ] ] ] )
FROM   table_name
source char:ターゲット文字列
pattern:正規表現アレイ
replace string:置換する文字列
position:文字列内(アレイをチェックする)の開始位置
eventry:何回目のマッチングですか.  (0はすべて置換)
match param:“i”(大文字と小文字を無視);  'c'(大文字と小文字を区別)

一般的なアプリケーション

  • []と[]の間にスペースがあり、  かっこを定義して削除すればいいです.
  • **regexp_replace(s, "\\[.*\\]", "")**
  • 数字と文字以外は全て削除
  • **regexp_replace(nm, '[^A-Z0-9 ]', '')**
  • 2つ以上空白の部分をクリア
  • **REGEXP_REPLACE('Kontext is a website for data engineers.','[\s]{2,}', '')**
  • 終了時は文字で始まり、文字で終わらない
  • **regexp_replace('The_quick brown fox jumped over the_fence', '_[^_]*$','')**
    https://nicola-ml.tistory.com/57