sql - 从另一列中删除匹配字符串
问题描述
我在 SQL Server 2014 中工作。我在名为Gallery Name
and的表中有 2 列Address
。以下是该表中的示例数据。
Gallery Name Address
--------------------------------------------------------------
Boltelang Boltelang street 12, Paris
BERG Contemporary BERG Contemporary gorge ave, New York
像这样,我总共有 207 条记录。现在的问题是列的数据Gallery Name
在我想从地址列中删除的地址列中重复。所以它应该是这样的
Gallery Name Adress
--------------------------------------------
Bltelang street 12, Paris
BERG Contemporary gorge ave, New York
我不知道我可以在 SQL Server 中使用哪个函数来实现这一点
解决方案
我会去:
update t
set address = stuff(address, 1, len(gallery_name) + 1, '')
where address like gallery_name + ' %';
这些涵盖了您问题中的示例,其中画廊名称位于地址的开头,后跟一个空格。在做出这样的改变时,我非常保守。如果您有其他模式,那么您可以运行另一个更新来修复这些问题。
您要小心使用REPLACE()
,以防地址重复画廊名称:
New York New York 10 New York Ave
推荐阅读
- unix - 如何在unix中删除除一个子文件夹外的所有子文件夹
- javascript - JSON数据提取到Javascript中的变量
- javascript - Javascript和串口通信
- css - 在安全网络上使用 mdbvue,缺少样式
- dart - 从 api 获取 JSON 列表数据
- url-rewriting - 用 lambda@edge 重写云端原始主机,如何?
- java - 为什么 LiveData setValue 或 PostValue 在视图中只触发一次 onChange?
- php - 如何使用Php中的Xpath解析XML中单个子节点中的子多个节点
- php - Yii 1.0:如何知道renderPartial是成功还是失败?
- c++ - 在为函数编写单元测试时,我应该模拟所做的内部函数调用吗?