Ana*_*nth 201 sql sql-server string whitespace trim
在SQL Server 2008中从字符串中删除所有空格的最佳方法是什么?
LTRIM(RTRIM(' a b ')) 将删除字符串右侧和左侧的所有空格,但我还需要删除中间的空格.
Ale*_* K. 361
只需更换它;
SELECT REPLACE(fld_or_variable, ' ', '')
Run Code Online (Sandbox Code Playgroud)
编辑:
只是为了澄清; 它是一个全球替代品,不需要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
Run Code Online (Sandbox Code Playgroud)
结果
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"
Run Code Online (Sandbox Code Playgroud)
小智 34
我会用REPLACE
select REPLACE (' Hello , How Are You ?', ' ', '' )
Run Code Online (Sandbox Code Playgroud)
SQL*_*ing 23
如果它是对表的更新,您只需多次运行此更新,直到它影响0行.
update tableName
set colName = REPLACE(LTRIM(RTRIM(colName)), ' ', ' ')
where colName like '% %'
Run Code Online (Sandbox Code Playgroud)
Anv*_*esh 11
首先,创建样本表和数据:
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
Run Code Online (Sandbox Code Playgroud)
没有额外空格的SELECT字符串脚本:
SELECT
[Rno]
,[Name] AS StringWithSpace
,LTRIM(RTRIM(REPLACE(REPLACE(REPLACE([Name],CHAR(32),'()'),')(',''),'()',CHAR(32)))) AS StringWithoutSpace
FROM tbl_RemoveExtraSpaces
Run Code Online (Sandbox Code Playgroud)
结果:
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
Run Code Online (Sandbox Code Playgroud)
小智 9
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
Run Code Online (Sandbox Code Playgroud)
你可以使用"column_name"或column_name
谢谢
Subroto
如果 LTRM 或 RTRM 没有删除正常空格,请尝试这样使用
LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(Column_data, CHAR(9), ''), CHAR(10), ''), CHAR(13), '')))
Run Code Online (Sandbox Code Playgroud)
如果字符串中有多个空格,则替换可能无法正常工作。为此,应使用以下功能。
CREATE FUNCTION RemoveAllSpaces
(
@InputStr varchar(8000)
)
RETURNS varchar(8000)
AS
BEGIN
declare @ResultStr varchar(8000)
set @ResultStr = @InputStr
while charindex(' ', @ResultStr) > 0
set @ResultStr = replace(@InputStr, ' ', '')
return @ResultStr
END
Run Code Online (Sandbox Code Playgroud)
例:
select dbo.RemoveAllSpaces('aa aaa aa aa a')
Run Code Online (Sandbox Code Playgroud)
输出:
aaaaaaaaaa
Run Code Online (Sandbox Code Playgroud)
小智 5
这可以消除字符串上的空格:
UPDATE
tablename
SET
columnname = replace(columnname, ' ', '');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
745525 次 |
| 最近记录: |