6

我有一个人名数据集,但问题是我想当有些人输入他们的名字时,他们按空格键几次太多 b/c 现在我们有这个:

在此处输入图像描述

请注意,在名称列中有一些名称,如 John_Doe、John__Doe、John____Doe 等。确保单词之间有 _ 的最佳方法是 1、2、3 等,它被删除/修剪只有 1 个空格,所以所有这些记录都会变成 John_Doe。

想法?

4

2 回答 2

13

这应该可以解决问题

DECLARE @string varchar(100)
SET @string = 'John   Doe'

SELECT string = REPLACE(REPLACE(REPLACE(@string,' ','<>'),'><',''),'<>',' ')

用 T-SQL 中的单个空格替换重复的空格

于 2013-08-05T19:17:39.967 回答
0

在我看来,使用 REPLACE 确实会减慢这个过程,特别是如果你有大量数据要搜索。我的建议是砍掉输入字符串并使用 AND 和 LIKE。

于 2015-10-30T16:14:37.940 回答