1

我正在尝试为 SQL Express 编写一个 SQL 查询,该查询将从客户端的数据库中查找电话号码。我遇到的问题是数据库中的某些数字中有空格,但我需要匹配的数字没有。

我的 SQL 查询当前如下所示:

SELECT [FirstName]
      ,[LastName]
      ,[CompanyName]
FROM [dbo].[People] AS p
INNER JOIN [dbo].[Companies] AS l
ON p.CompanyId = l.[CompanyId]
WHERE p.[Telephone] LIKE '01279800101' OR p.[Mobile] LIKE '01279800101'

其中 01279800101 是我需要为其查找公司名称的号码。此查询与 [dbo].[People].[Telephone] 为 01279 800 101 时的记录不匹配

如何使查询忽略字符串中的空格?

4

2 回答 2

5

使用替换

WHERE replace(p.[Telephone], ' ', '') = '01279800101' 
OR replace(p.[Mobile], ' ', '') = '01279800101'
于 2013-06-14T10:58:04.353 回答
3

试试这个:

WHERE REPLACE(p.[Telephone], ' ', '') = '0123456789'

它会将 [Telephone] 中的所有空格替换为之前的空字符串

于 2013-06-14T10:59:09.750 回答