TRIM(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL Server 2017(14.x) 이상 Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL 분석 엔드포인트

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

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

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

Transact-SQL 구문 표기 규칙

구문

SQL Server 2022(16.x) 및 이전 버전, Azure SQL Database 및 Azure Synapse Analytics 구문:

TRIM ( [ characters FROM ] string )

SQL Server 2022(16.x) 이상 버전, Azure SQL Managed Instance 및 Microsoft Fabric에 대한 구문:

Important

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

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

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

[ LEADING | TRAILING | BOTH ]

적용 대상: SQL Server 2022(16.x) 이상 버전, Azure SQL Managed Instance 및 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

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

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

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

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

# test .

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

Important

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

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

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

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

.#     test

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

Important

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

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

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

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

abc