반응형
텍스트 또는 ntext 데이터 유형의 REPLACE
datatable.column의 데이터를 업데이트/교체해야 합니다.테이블에는 다음과 같은 필드가 있습니다.Content
를 사용하고 있습니다.REPLACE
기능.열 데이터 유형이NTEXT
, SQL Server 에서는,REPLACE
기능.
이 데이터베이스는 서드파티 소프트웨어 테이블이므로 데이터 유형을 변경할 수 없습니다.데이터 유형을 변경하면 응용 프로그램이 실패합니다.
UPDATE [CMS_DB_test].[dbo].[cms_HtmlText]
SET Content = REPLACE(Content,'ABC','DEF')
WHERE Content LIKE '%ABC%'
이 에러를 수신합니다.
Msg 8116, 수준 16, 상태 1, 줄 1: 교체 함수의 인수 1에 대한 인수 데이터 형식 ntext가 잘못되었습니다.
- T-SQL로 수정할 수 있나요?읽는 방법과 루프하는 방법의 예를 가지고 있는 사람이 있습니까?
- 일회성 변환이기 때문에 다른 타입으로 변경할 수 있을 것 같은데 데이터를 망치고 있는 것 같습니다.
기본 키 필드가 있습니다. 이름: ID - 정수 - ID입니다.그래서 저도 생각해봐야겠어요.Identity를 N temporary로 설정합니다.
REPLACE 기능을 실행하는 방법에 대해 조언해 주시겠습니까?
약 3000개의 스테이트먼트를 새로운 솔루션으로 갱신해야 합니다.
데이터가 4000자를 넘지 않고 SQL Server 2000 또는 호환성 수준 8 또는 SQL Server 2000에 있는 경우:
UPDATE [CMS_DB_test].[dbo].[cms_HtmlText]
SET Content = CAST(REPLACE(CAST(Content as NVarchar(4000)),'ABC','DEF') AS NText)
WHERE Content LIKE '%ABC%'
SQL Server 2005+의 경우:
UPDATE [CMS_DB_test].[dbo].[cms_HtmlText]
SET Content = CAST(REPLACE(CAST(Content as NVarchar(MAX)),'ABC','DEF') AS NText)
WHERE Content LIKE '%ABC%'
SQL Server 2000을 전제로 다음 Stack Overflow 질문을 통해 문제를 해결할 수 있습니다.
SQL Server 2005/2008을 사용하는 경우 다음 코드를 사용할 수 있습니다(여기서 취득).
select cast(replace(cast(myntext as nvarchar(max)),'find','replace') as ntext)
from myntexttable
언급URL : https://stackoverflow.com/questions/4341613/alternatives-to-replace-on-a-text-or-ntext-datatype
반응형
'sourcecode' 카테고리의 다른 글
애플리케이션 내에서 WPF와 WinForms를 혼재시킬 수 있습니까? (0) | 2023.04.23 |
---|---|
콘텐츠 파일을 asp.net 프로젝트 파일에 자동으로 포함할 수 있는 방법이 있습니까? (0) | 2023.04.23 |
SVN 저장소 백업 전략 (0) | 2023.04.23 |
다음 항목을 사용해야 하는 경우:Amazon EC2, Google App Engine, Microsoft Azure 및 Salesforce.com? (0) | 2023.04.23 |
XAML 테두리에 마우스 오버 이벤트/트리거를 설정하는 방법 (0) | 2023.04.18 |