1

'link'열의 행에서 문자열을 가져 오는 방법과 문자열의 특정 색인 위치에 3 개의 문자를 추가하여 수정합니다.문자열의 세 문자를 업데이트하는 SQL 문

구체적인 예 :

내가 'http://www-x1.hello.no' 사용하여 SQL 문 (들)과 값 'http://www.hello.no'UPDATE을 선택합니다.
'-x1'이 시작되는 인덱스 위치는 항상 10이됩니다.

이 작업은 PostgreSQL을 사용하여 수행해야합니다. 그러나 일반 SQL 문을 사용하여 논리를 캡처 할 수 있다면 좋습니다. :)

답변

0

PostgreSQL에는 regexp_replace이라는 패턴으로 대체 작업을 수행하는 기능이 있습니다. 이 같은 해당 기능을 사용할 수 있습니다

물론
UPDATE my_table 
SET link = regexp_replace(link, 'www', 'www-x1') 
WHERE <...> 

당신도 직선 문자열 조작과 그것을 할 수 :

UPDATE my_table 
SET link = left(link, 10) || '-x1' || substring(link from 10) 
WHERE <...> 
0

이것은 당신이 요청하는 일 :

update the_table 
    set the_column = left(the_column, 10) || '-x1' || substring(the_column, 10); 

그러나 나는 이것이 당신이 원하는 것을 확실하지 않다. 첫 번째 . 앞에 '-x1'을 삽입하고 싶습니다. 어떤 것이 달라집니다.