programing

2017년 이전에 SQL Server에서 문자열을 트리밍하려면 어떻게 해야 합니까?

mbctv 2023. 4. 6. 23:27
반응형

2017년 이전에 SQL Server에서 문자열을 트리밍하려면 어떻게 해야 합니까?

SQL Server 2017에서는 다음 구문을 사용할 수 있지만 이전 버전에서는 사용할 수 없습니다.

SELECT Name = TRIM(Name) FROM dbo.Customer;
SELECT LTRIM(RTRIM(Names)) AS Names FROM Customer

오른쪽을 자르려면 다음을 사용합니다.

SELECT RTRIM(Names) FROM Customer

왼쪽을 자르려면 다음을 사용합니다.

SELECT LTRIM(Names) FROM Customer

양쪽을 트리밍하려면 다음을 사용합니다.

SELECT LTRIM(RTRIM(Names)) FROM Customer

이것은 일회성 데이터 삭제 연습이라고 생각합니다.완료되면 데이터베이스 제약을 추가하여 향후 불량 데이터를 방지하십시오.

ALTER TABLE Customer ADD
   CONSTRAINT customer_names__whitespace
      CHECK (
             Names NOT LIKE ' %'
             AND Names NOT LIKE '% '
             AND Names NOT LIKE '%  %'
            );

또한 문제를 일으킬 수 있는 다른 문자(탭, 캐리지 리턴, 줄 바꿈 등)도 허용하지 않는 것을 고려해 주십시오.

또, 이러한 이름을 분할하는 것도 좋을지도 모릅니다.family_name,first_name등:)

SELECT LTRIM(RTRIM(Replace(Replace(Replace(name,'   ',' '),CHAR(13), ' '),char(10), ' ')))
from author

'대체' 확장 버전:

REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(RTRIM(LTRIM(REPLACE("Put in your Field name", ' ',' '))),'''',''), CHAR(9), ''), CHAR(10), ''), CHAR(13), ''), CHAR(160), '') [CorrValue]

ssis 표현으로 ssql server 2008 r2에서 우리는 trim 함수를 가지고 있습니다.

SQL Server Integration Services(SSIS)는 Microsoft SQL Server 데이터베이스 소프트웨어의 컴포넌트이며 광범위한 데이터 이행 태스크를 수행하는 데 사용할 수 있습니다.

이 링크에서 자세한 설명을 찾을 수 있습니다.

http://msdn.microsoft.com/en-us/library/ms139947.aspx

그러나 이 함수는 그 페이지에서도 msdn에 의해 언급되어 있는 그 자체에도 몇 가지 제한이 있습니다.이것은 sql server 2008 r2에 있습니다.

TRIM("   New York   ") .The return result is "New York".

문자열의 선두와 말미에서 임의의 문자 세트를 트리밍하려면 다음 코드를 수행합니다.@TrimPattern은 트리밍할 문자를 정의합니다.이 예에서는 Space, tab, LF 및 CR 문자를 트리밍하고 있습니다.

@Test nvarchar(50) = Concat(', char(9), char(10)', 'TEST', ', char(9)', 'char(13)', 'TEST', 'char(10)', 'char(9)', 'char(9)', 'char(9)', 'char(13)', 'char(13)'를 선언합니다.

선언 @TrimPattern nvarchar ( max ) = '%[^ ' + char ( 9 ) + char ( 13 ) + char ( 10 ) + ' ]%'

서브스트링(@Test, PATINDEX(@TrimPattern, @Test), LEN(@Test) - PATINDEX(@TrimPattern, @Test) - PATINDEX(@TrimPattern, LTRIM(REVERSE(@Test)))) + 2)를 선택합니다.

고객님의 교환(이름, ', ')을 선택합니다.

언급URL : https://stackoverflow.com/questions/179625/how-to-trim-a-string-in-sql-server-before-2017

반응형