[SQL] 으로 SQL Server 테이블 열에서 문자열을 대체하는 방법
SQL으로 SQL Server 테이블 열에서 문자열을 대체하는 방법
나는 참조 경로 (UNC 또는 기타),하지만 지금은 경로가 가고 변경 테이블 (SQL 서버)가 있습니다.
경로 열에서 나는 많은 기록을 가지고 난 그냥 경로의 일부가 아닌 전체 경로를 변경해야합니다. 그리고 나는 모든 레코드에 새 하나에 같은 문자열을 변경해야합니다.
어떻게 간단한 업데이트하여이 작업을 수행 할 수 있습니다?
해결법
-
==============================
1.그것은이 쉽다 :
그것은이 쉽다 :
update my_table set path = replace(path, 'oldstring', 'newstring')
-
==============================
2.
UPDATE [table] SET [column] = REPLACE([column], '/foo/', '/bar/')
-
==============================
3.나는 위의 시도하지만 올바른 결과를 얻을하지 않았다. 다음 일을 수행합니다
나는 위의 시도하지만 올바른 결과를 얻을하지 않았다. 다음 일을 수행합니다
update table set path = replace(path, 'oldstring', 'newstring') where path = 'oldstring'
-
==============================
4.
UPDATE CustomReports_Ta SET vchFilter = REPLACE(CAST(vchFilter AS nvarchar(max)), '\\Ingl-report\Templates', 'C:\Customer_Templates') where CAST(vchFilter AS nvarchar(max)) LIKE '%\\Ingl-report\Templates%'
캐스트 기능이없는 나는 오류가 발생했습니다
인수의 데이터 유형은 NTEXT 기능을 대체의 인수 1에 대해 유효하지 않습니다.
-
==============================
5.이 쿼리를 사용할 수 있습니다
이 쿼리를 사용할 수 있습니다
update table_name set column_name = replace (column_name , 'oldstring' ,'newstring') where column_name like 'oldstring%'
-
==============================
6.모든 대답은 잘하지만 난 그냥 당신에게 좋은 예를 제공 할
모든 대답은 잘하지만 난 그냥 당신에게 좋은 예를 제공 할
select replace('this value from table', 'table', 'table but updated')
이 SQL 문은 단어 "테이블"의 존재를 대체합니다 세번째 파라미터로 지정된 성명 (제 1 파라미터) 내부 (두번째 파라미터)
초기 값은 테이블에서이 값이지만 기능을 대체 실행 한 후에는이 테이블에서 값을 업데이트하지만 것
여기에 실제 예입니다
UPDATE publication SET doi = replace(doi, '10.7440/perifrasis', '10.25025/perifrasis') WHERE doi like '10.7440/perifrasis%'
예를 들어 우리는이 값이있는 경우
10.7440/perifrasis.2010.1.issue-1
그것은 될 것입니다
10.25025/perifrasis.2010.1.issue-1
이 당신에게 더 나은 시각화를 제공 희망
-
==============================
7.
select replace(ImagePath, '~/', '../') as NewImagePath from tblMyTable
-
==============================
8.목표 컬럼 유형이 VARCHAR / 텍스트와 같은 NVARCHAR이 아닌 경우, 우리는 문자열로 열 값을 캐스팅 한 다음으로 변환해야합니다 :
목표 컬럼 유형이 VARCHAR / 텍스트와 같은 NVARCHAR이 아닌 경우, 우리는 문자열로 열 값을 캐스팅 한 다음으로 변환해야합니다 :
update URL_TABLE set Parameters = REPLACE ( cast(Parameters as varchar(max)), 'india', 'bharat') where URL_ID='150721_013359670'
-
==============================
9.당신은 기능을 대체의 도움으로 경로를 교체해야합니다.
당신은 기능을 대체의 도움으로 경로를 교체해야합니다.
update table_name set column_name = replace(column_name, 'oldstring', 'newstring')
여기 COLUMN_NAME 변경하려는 해당 열을 의미합니다.
작동 바랍니다.
-
==============================
10.또한 여기에 대한 간단한 예입니다, 런타임에 이메일 템플릿에 대한 큰 텍스트를 대체 할 수 있습니다.
또한 여기에 대한 간단한 예입니다, 런타임에 이메일 템플릿에 대한 큰 텍스트를 대체 할 수 있습니다.
DECLARE @xml NVARCHAR(MAX) SET @xml = CAST((SELECT [column] AS 'td','', ,[StartDate] AS 'td' FROM [table] FOR XML PATH('tr'), ELEMENTS ) AS NVARCHAR(MAX)) select REPLACE((EmailTemplate), '[@xml]', @xml) as Newtemplate FROM [dbo].[template] where id = 1
from https://stackoverflow.com/questions/814548/how-to-replace-a-string-in-a-sql-server-table-column by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 왼쪽 Where 절과 함께 가입 (0) | 2020.03.31 |
---|---|
[SQL] MySQL 데이터베이스에서 통화 값을 저장하기위한 최고의 데이터 유형 (0) | 2020.03.31 |
[SQL] SQL은 오름차순으로 정렬 할 때 널 (null) 값이 마지막으로 올 수 있도록하는 방법 (0) | 2020.03.31 |
[SQL] 유연한 추상적 인 테이블 대 다수의 열이 하나의 고정 된 테이블 (0) | 2020.03.31 |
[SQL] 기존 테이블에 SQL 서버 SELECT (0) | 2020.03.31 |