【发布时间】:2014-07-31 14:22:54
【问题描述】:
我现在有点麻烦,不知道如何解决这个问题。
先介绍一些背景信息:
我有一个包含 71k 条记录的表,其中包含 firstname 和 lastname 列。客户希望能够结合名字和姓氏进行搜索。
我使用了这个查询,它工作正常:
select *
from `subscribers`
where `subscribers`.`deleted_at` is null
and concat (firstname," ",lastname) = 'firstname lastname'
除了以下问题:
有些记录的名字后面有一个尾随空格。这使得上述查询不起作用,除非我在名字和姓氏之间添加第二个空格。
我知道我必须在我的 firstname 上使用 RTRIM,我尝试过,但似乎不起作用。
我做错了什么?我怎样才能解决这个问题? 我宁愿不编辑 71k 条记录,这样他们的名字后面就没有尾随空格了......
感谢您的帮助!
【问题讨论】:
-
您可以一口气更新它们:
UPDATE subscribers SET firstname = RTRIM(firstname)。这可能就是我会做的 - 修复数据而不是解决它...... -
但是使用你已经使用的方法,它看起来像
concat (RTRIM(firstname)," ",lastname)