我现在有点麻烦,不知道如何解决这个问题。
首先是一些背景信息:
我有一张包含71k记录的表格,列firstname
和lastname
。客户希望能够使用firstname和lastname进行搜索。
我使用了这个查询,它运行正常:
select *
from `subscribers`
where `subscribers`.`deleted_at` is null
and concat (firstname," ",lastname) = 'firstname lastname'
除了以下问题:
某些记录的名字后面有一个尾随空格。这使得上述查询不起作用,除非我在firstname和lastname之间添加第二个空格。
我知道我必须在RTRIM
上使用firstname
,我尝试过,但似乎无效。
我做错了什么?我怎样才能解决这个问题? 我宁愿不编辑71k记录,因此他们的名字后面没有尾随空格......
感谢您的帮助!
答案 0 :(得分:0)
这应该有效(见SQL Fiddle demo):
select * from `subscribers`
where `subscribers`.`deleted_at` is null
and concat (trim(firstname)," ",trim(lastname)) LIKE 'firstname lastname';