首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >比较包含其他字符串的字符串

比较包含其他字符串的字符串
EN

Stack Overflow用户
提问于 2019-06-27 03:07:48
回答 1查看 35关注 0票数 0

我正在比较两个表以匹配它们的地址行和邮政编码。然而,有时邮政编码(美国)的格式为28272-0516,而在其他情况下仅为28272。无论短划线'-‘后面是什么,它们都应该正确匹配。

在SQL Server17中,我使用CharIndex来定位破折号'-‘,但是遇到了一个问题,因为并不是所有的邮政编码都包含破折号。

你认为我需要一些UNION来抓取表a中不包含破折号的所有邮政编码,然后是包含破折号的邮政编码,然后是包含破折号的表b,依此类推。

代码语言:javascript
代码运行次数:0
运行
复制
SELECT *
from a
inner join b
on 
AND a.addressline1 = b.addressline1
AND LTRIM(TRIM(LEFT(a.PostalCode,CHARINDEX('-',a.PostalCode)-1))) = LTRIM(TRIM(LEFT(b.VendorPostalCode,CHARINDEX('-',b.VendorPostalCode)-1)))
EN

回答 1

Stack Overflow用户

发布于 2019-06-27 03:11:42

存在无效语法,请尝试:

代码语言:javascript
代码运行次数:0
运行
复制
SELECT *
from a
inner join b on  a.addressline1 = b.addressline1
AND  case when  a.PostalCode,CHARINDEX('-', a.PostalCode) <>0  then 
   LTRIM(TRIM(LEFT(a.PostalCode,CHARINDEX('-', a.PostalCode)-1))) = 
     LTRIM(TRIM(LEFT(b.VendorPostalCode,CHARINDEX('-', b.VendorPostalCode)-1)))
   else  a.PostalCode = b.VendorPostalCode 
   END 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56779566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档