문자열의 UPDATE 및 REPLACE 부분
기둥 두 개로 된 테이블이 있는데ID
그리고.Value
. 두 번째 열에 있는 문자열의 일부를 변경합니다.
표의 예:
ID Value
---------------------------------
1 c:\temp\123\abc\111
2 c:\temp\123\abc\222
3 c:\temp\123\abc\333
4 c:\temp\123\abc\444
자, 이제.123\
에서Value
문자열은 필요 없습니다.나는 노력했다.UPDATE
그리고.REPLACE
:
UPDATE dbo.xxx
SET Value = REPLACE(Value, '%123%', '')
WHERE ID <= 4
스크립트를 실행할 때 SQL Server는 오류를 보고하지 않지만 업데이트도 하지 않습니다.왜 그런 것일까요?
Wildcards는 필요 없습니다.REPLACE
- 두 번째 인수에 입력한 문자열만 검색되므로 다음 기능이 작동합니다.
UPDATE dbo.xxx
SET Value = REPLACE(Value, '123', '')
WHERE ID <=4
바꿀 열이 유형인 경우text
또는ntext
nvarchar에게 전달해야 합니다.
UPDATE dbo.xxx
SET Value = REPLACE(CAST(Value as nVarchar(4000)), '123', '')
WHERE ID <=4
제거 시도%
아래와 같은 문자
UPDATE dbo.xxx
SET Value = REPLACE(Value, '123', '')
WHERE ID <=4
모든 행을 업데이트할 필요가 없는 큰 테이블에서 쿼리를 빠르게 실행하려면 수정할 행만 업데이트하도록 선택할 수도 있습니다.
UPDATE dbo.xxx
SET Value = REPLACE(Value, '123', '')
WHERE ID <= 4
AND Value LIKE '%123%'
쿼리:
UPDATE tablename
SET field_name = REPLACE(field_name , 'oldstring', 'newstring')
WHERE field_name LIKE ('oldstring%');
날짜 코드가 있는 테이블이 하나 있는데, 7자 코드 같은 것이 있습니다.
"32-1000"
이제 모든 것을 바꾸려고 합니다.
"32-"
와 함께
"14-"
실행할 SQL 쿼리는 다음과 같습니다.
Update Products Set Code = replace(Code, '32-', '14-') Where ...(Put your where statement in here)
스크립트를 대체하고 싶은 사용자용.
update dbo.[TABLE_NAME] set COLUMN_NAME= replace(COLUMN_NAME, 'old_value', 'new_value') where COLUMN_NAME like %CONDITION%
CREATE TABLE tbl_PersonalDetail
(ID INT IDENTITY ,[Date] nvarchar(20), Name nvarchar(20), GenderID int);
INSERT INTO Tbl_PersonalDetail VALUES(N'18-4-2015', N'Monay', 2),
(N'31-3-2015', N'Monay', 2),
(N'28-12-2015', N'Monay', 2),
(N'19-4-2015', N'Monay', 2)
DECLARE @Date Nvarchar(200)
SET @Date = (SELECT [Date] FROM Tbl_PersonalDetail WHERE ID = 2)
Update Tbl_PersonalDetail SET [Date] = (REPLACE(@Date , '-','/')) WHERE ID = 2
다음 업데이트 쿼리를 사용해야 합니다.
UPDATE dbo.xxx SET Value=REPLACE(Value,'123\','') WHERE Id IN(1, 2, 3, 4)
UPDATE dbo.xxx SET Value=REPLACE(Value,'123\','') WHERE Id <= 4
위의 쿼리 중 하나가 작동해야 합니다.
페르시아어로 대체하다
UPDATE dbo.TblNews
SET keyWords = REPLACE(keyWords, '-', N'،')
도움말: dbo.TblNews -- 테이블 이름
keyWords -- 파일 이름
언급URL : https://stackoverflow.com/questions/17365222/update-and-replace-part-of-a-string
'programing' 카테고리의 다른 글
PowerShell을 사용한 파일 이름 타임스탬프 (0) | 2023.04.08 |
---|---|
SQL Server에서 단일 ALTER TABLE 문을 사용하여 여러 열을 드롭하려면 어떻게 해야 합니까? (0) | 2023.04.08 |
.vimrc 파일에 gvim 글꼴 설정 (0) | 2023.04.08 |
PDF를 HTML에 삽입하는 권장 방법 (0) | 2023.04.08 |
더 나은 Windows 콘솔 창은 없습니까? (0) | 2023.04.08 |