首页 > 解决方案 > 从空格中修剪字符串(不更改字段值)

问题描述

我需要比较两列并查找匹配的名称,其中一列有时在其值中包含几个空格。我需要比较的列位于不同数据库的不同表中。基本上它是两个不同的人注册表,并且这些注册表之一的 GUI 中似乎存在一个错误,它将空格放入数据库。

其中一个注册表中的名称列有时包含两个姓氏和连字符的人,例如“Andersen-Johnson”,而另一个表中的相应值可能包含其中一个名称(例如 Johnson),但它也包含几个空格. 我想使用“LIKE”在 Andersen-Johnson 中找到 Johnson,但如果 Johnson 包含空格,它显然不起作用。

在下面的引号之间查看实际的字符串值:

Column A: "Andersen-Johnson"
Column B: "Johnson                "

所以我的问题是:有没有办法在不改变列本身的值的情况下修剪名称列中的值以进行比较?

标签: sqlsql-server

解决方案


我不确定我是否理解你,但这是你需要的:

select * 
from tbl
where c_a like concat('%',trim(c_b),'%')

这是一个演示


推荐阅读