>

CLOB 가있는 테이블이 있습니다   SQL 가있는 데이터 유형  값으로 스크립트. sql 내부의 문자열을 바꾸고 싶습니다  스크립트 값. 알고 싶은 아래 시나리오를 참조하십시오.

TEST 라는 테이블이 있습니다   NAME, DEPT_SQL 열  아래의 값을 표 안에 넣으십시오 :

DEPT_SQL

SELECT * FROM DEPT WHERE DEPT_NAME IN('SALES','MARKETING','FINANCE','IT')

이제 'SALES'값을 ​​많은 값 'TODAY_SALES','WEEK_SALES','MONTH_SALES' 로 바꾸고 싶습니다   sql 내부  스크립트 열 값.

단일 문자열 값을 여러 문자열 값으로 대체하는 방법을 아는 사람이 있습니까?

아래 방법을 시도했지만 바꿀 적절한 문자열을 제공합니다.

SELECT name, to_clob(replace(dept_sql,'SALES','TODAY_SALES, WEEK_SALES, MONTH_SALES')) as sql
from test
where sql like '%SALES%' and name='CLOSE'

미리 감사합니다.


  • 답변 # 1

    대체 인용 메커니즘으로 대체를 단순화 할 수 있습니다 ( q 사용) )로 인용

    SELECT replace(dept_sql, q'{'SALES'}', 
           q'{'TODAY_SALES','WEEK_SALES','MONTH_SALES'}') as sql
    FROM   test;
    
    

    데모

관련 자료

  • 이전 C ++가 루프 조건을 무시 함
  • 다음 mysql - 하나의 열 값을 기준으로 중복 행 제거