我想使用contains
搜索左侧和右侧具有单个空格的单词。但这不起作用。
SELECT *
FROM mytable
WHERE Contains(name, ' Hertz ');
感谢您的帮助。
答案 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)
答案 3 :(得分:0)
您可以尝试
SELECT *
FROM mytable
WHERE name Like '% Hertz %'
答案 4 :(得分:0)
如果您想使用setOnMarkerClickListener {
handleOnMarkerClick(it)
true
}
,请继续:
CONTAINS
答案 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'
您还可以在运行时使用ltrim
和rtrim
删除空格以匹配名称值。
答案 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