如何使用包含查找包含空格的关键字?

时间:2019-01-03 09:42:15

标签: sql sql-server contains

我想使用contains搜索左侧和右侧具有单个空格的单词。但这不起作用。

SELECT *
FROM mytable
WHERE Contains(name, ' Hertz ');

感谢您的帮助。

9 个答案:

答案 0 :(得分:2)

您可以对列进行LTRIM RTRIM并获取值。

create table #temp
(
name varchar(50)
)

insert into #temp values(' hertz')

insert into #temp values('hertz ')

insert into #temp values('hertzx')

insert into #temp values('hertz')

select * from #temp where LTRIM(RTRIM(name)) like '%hertz%'

如果要在以下查询的开始或结束使用中搜索它是否有空间。

select * from #temp where name like ' %'

select * from #temp where name like '% '

答案 1 :(得分:0)

尝试一下:

SELECT *
FROM mytable
WHERE name=' Hertz '

如果Hertz仅是示例,则可以使用:

SELECT *
FROM mytable
WHERE name like ' % '

这将返回所有名称,在首尾均为空格

答案 2 :(得分:0)

尝试如下。

SELECT *
FROM mytable
WHERE name LIKE '% Hertz %'

Learn more about like operator

答案 3 :(得分:0)

您可以尝试

SELECT *
FROM mytable
WHERE name Like '% Hertz %'

答案 4 :(得分:0)

如果您想使用setOnMarkerClickListener { handleOnMarkerClick(it) true } ,请继续:

CONTAINS

检查以下部分:Search for a specific word or phrase (Simple Term)

答案 5 :(得分:0)

要搜索包含空格的内容,您需要将表达式用双引号引起来,例如:

SELECT *
FROM mytable
WHERE CONTAINS(name, '" Hertz "');

当然这也可以用LIKE编写(尽管在处理大型数据集时效率较低):

SELECT *
FROM mytable
WHERE name LIKE '% Hertz %');

答案 6 :(得分:0)

如果使用 like 运算符,则无需在下面的空格之间添加空格

select * from mytable where name like '%her%'

如果您希望数据中有空格,也可以像下面这样使用

select * from mytable where name like '_%hertz%_'

如果我们使用下划线,它将跳过特定的位置元素并搜索数据。

答案 7 :(得分:0)

尝试一下

Select * from mytable where replace(name,' ','')='Hertz'

您还可以在运行时使用ltrimrtrim删除空格以匹配名称值。

答案 8 :(得分:0)

您可以尝试

SELECT a.name
  FROM mytable a
   WHERE a.name like ' %% '

OR

SELECT a.name
      FROM mytable a
       WHERE a.name like' % '

您可以找到实时演示Demo here