프로그래밍/DB

[DB] MSSQL 문자함수 공백제거(LTRIM,RTRIM,TRIM)

ss-pro 2021. 6. 8. 22:53
반응형

문자열 공백을 제거하는 방법에 대하여 알아보겠습니다. MSDN의 Syntax를 살펴보면 아래와 같습니다.

1. LTRIM
- 왼쪽 공백을 제거해주는 함수입니다.


2. RTRIM
- 오른쪽 공백을 제거해주는 함수입니다.

3. TRIM
- TRIM함수는 별도로 없습니다. 문자열을 LTRIM,RTRIM해주면 TRIM(LTRIM(charater_expression))과 동일한 효과를 내기때문에 해당부분으로 처리하면됩니다. SQL Server 2017(14.x) 이상 버전부터는 TRIM함수를 제공하니 참고하셔서 사용하시기 바랍니다.




4. LTRIM,RTRIM,TRIM 테스트
- 문자열 ' A1234567890 '에 대해서 공백제거하는 함수를 사용해서 테스트해보겠습니다. 공백제거후에 LEN함수를 사용해서 문자열 크기에 대해 살펴보겠습니다. 문자열의 경우 오른쪽 공백이 있을경우에는 LEN함수로 처리시에 공백을 무시하고 마지막 문자열까지의 길이를 리턴해줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
declare @msg            varchar(50)
declare @result_rtrim   varchar(50)
declare @result_ltrim   varchar(50)
declare @result_trim    varchar(50)
 
set @msg = '  A1234567890  '
 
set @result_rtrim = RTRIM(@msg)
set @result_ltrim = LTRIM(@msg)
set @result_trim  = RTRIM(LTRIM(@msg))
 
SELECT @msg [msg],@result_rtrim [rtrim],@result_ltrim [ltrim],@result_trim [trim],    
len(@msg)len_msg,len(@result_rtrim) len_rtrim,len(@result_ltrim) len_ltrim,
len(@result_trim) len_trim

5. 테스트결과 값

6. 숫자형 LTRIM사용시
- 숫자형에 LTRIM을 사용시에는 숫자형의 경우 앞에 0을 붙이더라도 자동형변환이되어 숫자값으로 처리되니 참고하시기 바랍니다.


참고 : https://docs.microsoft.com/ko-kr/sql/t-sql/functions/trim-transact-sql?view=sql-server-ver15