2017-05-21 2 views
0

SQL Server 데이터베이스에 열이 있고 레코드의 왼쪽 및 오른쪽에서 공백이 있습니다. 기본적으로 열은 nvarchar(250)입니다.SQL Server 열에서 공백 및 공백 제거

내가 완전히 같은 공백을 제거하는 시도 :

UPDATE MyTable 
SET whitespacecolumn = LTRIM(RTRIM(whitespacecolumn)) 

는하지만이 전혀 작동하지 않았다 공백이 아직도있다. 여기서 내가 뭘 잘못하고 있니?

+1

? 다듬기는 공백 만 제거합니다. 탭 또는 다른 유형의 공백이 아닙니다. –

+0

메신저 종류가 확실하지 않지만 다음과 같은 레코드 앞에 빈 공간이 있습니다. (이 공간은 여기에 있습니다) 사용자 이름 – User987

+0

@MartinSmith 탭을 제거하는 방법/입력 하시겠습니까? – User987

답변

1

아래를 확인하십시오.

  1. 필드 값에 char (10), char (13) 등의 특수 문자를 찾습니다.
  2. ANSI_PADDING ON의 상태를 확인하십시오. 이 MSDN 문서를 참조하십시오. 내가 대체 생각
+0

이것은 그 것이었다, char (10) 그것은, thx이었다! :) – User987

1

UPDATE MyTable SET whitespacecolumn = Replace(whitespacecolumn, ' ', '') 

당신이 선택한 첫번째 일을 시도하고

SELECT *, Replace(whitespacecolumn, ' ', '') from MyTable 

LTRIM은, RTRIM은 공백을 제거합니다 업데이트하는 것을 선호 할 수 있습니다를 업데이트하려는 같은 방법입니다 기둥의 앞과 뒤. 2016 년 당신은뿐만 아니라 특수 문자를 트림 아래 TRIM 기능을 사용할 수 있습니다

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

출력 :

공백은 무엇 문자
# test 
+0

'TRIM()'함수에 대한 지원은 SQL Server 2017에서 사용할 수 있습니다. 내가 말할 수있는 한 SQL Server 2016 이하에서는 사용할 수 없습니다. https://docs.microsoft.com/en-us/sql/t-sql/functions/trim-transact-sql –