Nice programing

데이터베이스에서 문자열 일부 검색 및 바꾸기

nicepro 2020. 11. 9. 21:01
반응형

데이터베이스에서 문자열 일부 검색 및 바꾸기


내 데이터베이스에 nvarchar로 저장된 모든 iframe 태그를 교체해야합니다. 다음 sql-question을 사용하여 항목을 찾을 수 있습니다.

SELECT * FROM databasename..VersionedFields WHERE Value LIKE '%<iframe%'

다음 코드 세그먼트를 바꾸고 싶다고 가정 해 보겠습니다.

code before iframe <iframe src="yadayada"> </iframe> code after iframe

이것으로 :

code before iframe <a>iframe src="yadayada"</a> code after iframe

두 번의 업데이트 호출이 필요하다고 생각합니다.

update VersionedFields
set Value = replace(value,'<iframe','<a><iframe')

update VersionedFields
set Value = replace(value,'> </iframe>','</a>')

REPLACE로 값을 설정하는 UPDATE 문으로 할 수 있습니다.

UPDATE
    Table
SET
    Column = Replace(Column, 'find value', 'replacement value')
WHERE
    xxx

이 작업을 수행 할 때 매우 조심해야합니다! 먼저 백업을 수행하는 것이 좋습니다.


update VersionedFields
set Value = replace(replace(value,'<iframe','<a>iframe'), '> </iframe>','</a>')

한 번의 패스로 수행합니다.


나는 비슷한 문제에 직면했습니다. db의 내용을 하나의 SQL 파일로 내보내고 TextEdit를 사용하여 필요한 모든 것을 찾아서 교체했습니다. 단순성 ftw!


이러한 종류의 문자열 조작에 대한 RegEx 지원으로 CLR 대체 함수를 작성하는 것을 고려할 것입니다.


데이터베이스 업데이트 및 fieldName = Replace (fieldName, 'FindString', 'ReplaceString') 설정

참고 URL : https://stackoverflow.com/questions/605768/search-and-replace-part-of-string-in-database

반응형