【发布时间】:2014-01-30 07:03:20
【问题描述】:
SQL Server 是否具有与 Postgres 等效的功能来比较字符串?
我正在寻找匹配的东西
str1 = "Flat 1, 110 Bob Street"
str2 = "110, Bob St. Flat 1"
这样我就可以了
select
...
from
t1 join
t2 on (similar(t1.str1,t2.str2) >= 0.9)
【问题讨论】:
-
AFAIK,在数据库服务器中无法做到这一点。通常你在客户端做这种事情。你真的有必要像这样选择匹配的地址吗?另见stackoverflow.com/questions/2097323/… 和stackoverflow.com/questions/6003591/…
-
您使用的是什么版本的 SQL Server?如果你有 SQL Server Enterprise,你应该考虑使用 SSIS 的模糊分组功能:bimonkey.com/2009/11/the-fuzzy-grouping-transformation
-
@tenfour 只有当你在数据库服务器上建立表达式索引或在物化视图中使用它们等时,才能在数据库服务器中拥有这种东西真的很方便。
-
你想解决什么问题?例如,MSSQL 使用 FREETEXT (technet.microsoft.com/ru-ru/library/ms176078.aspx) 对字符串进行模糊搜索
标签: sql-server postgresql street-address