我有一个人名的数据集,但问题是我想象当有些人在输入他们的名字时,他们撞击空格键几次太多的B/C现在我们有这样的:删除名称中的多余中间空间 - SQL
注意如何在名称列有就像john_doe即John__Doe,John____Doe等一些名字会是什么,以确保最好的办法,只要有一个_字与字之间,无论是1,2,3等,它被删除/修剪到只有1个空间,所有这些记录将成为John_Doe。
想法?
我有一个人名的数据集,但问题是我想象当有些人在输入他们的名字时,他们撞击空格键几次太多的B/C现在我们有这样的:删除名称中的多余中间空间 - SQL
注意如何在名称列有就像john_doe即John__Doe,John____Doe等一些名字会是什么,以确保最好的办法,只要有一个_字与字之间,无论是1,2,3等,它被删除/修剪到只有1个空间,所有这些记录将成为John_Doe。
想法?
这应该做的伎俩
DECLARE @string varchar(100)
SET @string = 'John Doe'
SELECT string = REPLACE(REPLACE(REPLACE(@string,' ','<>'),'><',''),'<>',' ')
使用取而代之的是真的放缓的过程在我看来,特别是如果你有大量的数据进行搜索上。 我的建议是切断输入字符串并使用AND和LIKE。
*** SQL ***只是*结构化查询语言* - 许多数据库系统使用的语言,但不是数据库产品...许多字符串操作都是**高度特定于供应商的** - 所以我们真的需要知道你正在使用的数据库系统**(和哪个版本)(请相应地更新标签).... –
select name, replace(replace(replace(name,'',' '','><',''),'<>','_') from – Mihai
我正在使用SQL Server Management Studio。 – Joshua