다음을 통해 공유


TRIM(Transact-SQL)

적용 대상: SQL Server 2017 (14.x) 및 이후 버전: Azure SQL 데이터베이스,Azure SQL Managed Instance,Azure Synapse AnalyticsSQL Analytics 엔드포인트 in Microsoft Fabric, Warehouse inMicrosoft Fabric SQL 데이터베이스

문자열의 시작 또는 끝에서 공백 문자 char(32) 및 기타 지정되지 않은 문자를 제거합니다.

SQL Server 2022(16.x)부터 필요에 따라 문자열의 시작, 끝 또는 양쪽에서 공백 문자 char(32) 또는 기타 지정된 문자를 제거합니다.

Transact-SQL 구문 표기 규칙

구문

SQL Server 2019 (15.x) 및 이전 버전용 Syntax 및 Azure Synapse Analytics:

TRIM ( [ characters FROM ] string )

SQL Server 2022 (16.x) 및 이후 버전, Azure SQL Managed Instance, Azure SQL Database, Microsoft Fabric의 구문:

Important

또는 키워드를 사용 160LEADINGTRAILING 하려면 BOTH 데이터베이스 호환성 수준을 설정해야 합니다.

TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )

인수

[ LEADING | 후행 | 둘 다 ]

적용 대상: SQL Server 2022 (16.x) 및 이후 버전, Azure SQL Managed Instance, Azure SQL Database, Microsoft Fabric:

선택적 첫 번째 인수는 트리밍할 문자열의 쪽을 지정합니다.

  • LEADING 는 문자열의 시작에서 지정된 문자를 제거합니다.

  • TRAILING 는 문자열의 끝에서 지정된 문자를 제거합니다.

  • BOTH (기본 위치 동작)은 문자열의 시작과 끝에서 지정된 문자를 제거합니다.

문자

문자는 제거해야 하는 문자가 포함된 비-LOB 문자 형식(nvarchar, varchar, nchar 또는 char)의 리터럴, 변수 또는 함수 호출입니다. nvarchar(max)varchar(max) 형식은 허용되지 않습니다.

string

문자를 제거해야 하는 문자 형식(nvarchar, varchar, nchar 또는 char)의 식입니다.

반환 형식

양쪽에서 공백 문자 char(32) 또는 기타 지정되지 않은 문자가 제거되는 문자열 인수 형식의 문자 식을 반환합니다. 입력 문자열이 NULL인 경우 NULL을 반환합니다.

설명

기본적으로 TRIM 함수는 문자열의 시작과 끝 모두에서 공백 문자를 제거합니다. 이 동작은 LTRIM(RTRIM(@string))과 동일합니다.

SQL Server 2022(16.x)에서 선택적 LEADINGTRAILING인수 또는 BOTH 위치 인수를 사용하도록 설정하려면 쿼리를 실행할 때 연결하려는 데이터베이스에서 데이터베이스 호환성 수준을 160 사용하도록 설정해야 합니다.

  • 선택적 LEADING 위치 인수를 사용하면 동작이 LTRIM(@string, characters)과 동일합니다.
  • 선택적 TRAILING 위치 인수를 사용하면 동작이 RTRIM(@string, characters)과 동일합니다.

예제

A. 문자열의 양쪽에서 공백 문자를 제거합니다.

다음 예에서는 단어 test의 앞과 뒤에서 공백을 제거합니다.

SELECT TRIM( '     test    ') AS Result;

결과 집합은 다음과 같습니다.

test

B. 문자열의 양쪽에서 지정된 문자를 제거합니다.

다음 예제에서는 문자열에서 제거할 수 있는 문자 목록을 제공합니다.

SELECT TRIM( '.,! ' FROM '     #     test    .') AS Result;

결과 집합은 다음과 같습니다.

#     test

이 예제에서는 단어 #의 앞과 단어 test의 뒤에서 후행 마침표와 공백을 제거합니다. 다른 문자는 문자열에 없기 때문에 무시되었습니다.

C. 문자열의 시작에서 지정된 문자를 제거

Important

또는 키워드를 사용 160LEADINGTRAILING 하려면 BOTH 데이터베이스 호환성 수준을 설정해야 합니다.

다음 예제에서는 단어 . 앞에 있는 문자열의 시작부터 선행 test을 제거합니다.

SELECT TRIM(LEADING '.,! ' FROM  '     .#     test    .') AS Result;

결과 집합은 다음과 같습니다.

#     test    .

D. 문자열의 끝에서 지정된 문자를 제거

Important

또는 키워드를 사용 160LEADINGTRAILING 하려면 BOTH 데이터베이스 호환성 수준을 설정해야 합니다.

다음 예제에서는 단어 . 뒤에 있는 문자열의 끝부터 후행 test을 제거합니다.

SELECT TRIM(TRAILING '.,! ' FROM '     .#     test    .') AS Result;

결과 집합은 다음과 같습니다.

     .#     test

E. 문자열의 시작 및 끝에서 지정된 문자 제거

Important

또는 키워드를 사용 160LEADINGTRAILING 하려면 BOTH 데이터베이스 호환성 수준을 설정해야 합니다.

다음 예제에서는 문자열 123의 시작과 끝에서 문자 123abc123을 제거합니다.

SELECT TRIM(BOTH '123' FROM '123abc123') AS Result;

결과 집합은 다음과 같습니다.

abc