[sql] SQL Server의 문자열에서 모든 공백을 제거하십시오.

SQL Server 2008의 문자열에서 모든 공백을 제거하는 가장 좋은 방법은 무엇입니까?

LTRIM(RTRIM(' a b ')) 문자열의 오른쪽과 왼쪽에있는 모든 공백을 제거하지만 중간의 공백도 제거해야합니다.



답변

간단히 교체하십시오.

SELECT REPLACE(fld_or_variable, ' ', '')

편집 :
명확히하기 위해; 자사의 글로벌 대체, 아무 필요가 없다 trim()중 하나에 대해 여러 공간에 대한 또는 걱정 char또는 varchar:

create table #t (
    c char(8),
    v varchar(8))

insert #t (c, v) values 
    ('a a'    , 'a a'    ),
    ('a a  '  , 'a a  '  ),
    ('  a a'  , '  a a'  ),
    ('  a a  ', '  a a  ')

select
    '"' + c + '"' [IN], '"' + replace(c, ' ', '') + '"' [OUT]
from #t  
union all select
    '"' + v + '"', '"' + replace(v, ' ', '') + '"'
from #t 

결과

IN             OUT
===================
"a a     "     "aa"
"a a     "     "aa"
"  a a   "     "aa"
"  a a   "     "aa"
"a a"          "aa"
"a a  "        "aa"
"  a a"        "aa"
"  a a  "      "aa"


답변

교체를 사용합니다

select REPLACE (' Hello , How Are You ?', ' ', '' )

바꾸다


답변

테이블에 대한 업데이트 인 경우 행 0에 영향을 줄 때까지이 업데이트를 여러 번 실행하면됩니다.

update tableName
set colName = REPLACE(LTRIM(RTRIM(colName)), '  ', ' ')
where colName like '%  %'


답변

REPLACE()기능 :

REPLACE(field, ' ', '')


답변

이 블로그에서 가져온 참조 :

먼저 샘플 테이블 및 데이터를 작성하십시오.

CREATE TABLE tbl_RemoveExtraSpaces
(
     Rno INT
     ,Name VARCHAR(100)
)
GO

INSERT INTO tbl_RemoveExtraSpaces VALUES (1,'I    am     Anvesh   Patel')
INSERT INTO tbl_RemoveExtraSpaces VALUES (2,'Database   Research and     Development  ')
INSERT INTO tbl_RemoveExtraSpaces VALUES (3,'Database    Administrator     ')
INSERT INTO tbl_RemoveExtraSpaces VALUES (4,'Learning    BIGDATA    and       NOSQL ')
GO

추가 공백없이 문자열을 선택하는 스크립트 :

SELECT
     [Rno]
    ,[Name] AS StringWithSpace
    ,LTRIM(RTRIM(REPLACE(REPLACE(REPLACE([Name],CHAR(32),'()'),')(',''),'()',CHAR(32)))) AS StringWithoutSpace
FROM tbl_RemoveExtraSpaces

결과:

Rno         StringWithSpace                                 StringWithoutSpace
----------- -----------------------------------------  ---------------------------------------------
1           I    am     Anvesh   Patel                      I am Anvesh Patel
2           Database   Research and     Development         Database Research and Development
3           Database    Administrator                       Database Administrator
4           Learning    BIGDATA    and       NOSQL          Learning BIGDATA and NOSQL


답변

100 % 일

UPDATE table_name SET  "column_name"=replace("column_name", ' ', ''); //Remove white space

UPDATE table_name SET  "column_name"=replace("column_name", '\n', ''); //Remove newline

UPDATE table_name SET  "column_name"=replace("column_name", '\t', ''); //Remove all tab

"column_name"또는 사용할 수 있습니다column_name

감사

서브 로토


답변

T-SQL 교체 http://msdn.microsoft.com/en-us/library/ms186862.aspx

바꾸기 (val, ”, ”)