SQL Server:查找并替换在字符串中多次出现的字符串特定部分的一部分

马特

我是一家小型企业所有者,自学SQL Server来管理邮件数据。过去,这种资源帮助我查看其他人的问题很多次,但是,这是第一次询问问题。使用SQL Server 2017。

我想在地址栏中更改缩写以拼写单词。例如,我想将“ St”更改为“ Street”。我知道如何在T-SQL中进行基本查找和替换,但是我遇到的问题是,如果'St'是实际街道名称的名称,那么它也会被更改。例如,“ 123 Stripe St”变为“ 123 Streetripe Street”。我想要的输出将是“ 123 Stripe Street”。

我正在使用以下

UPDATE Person
SET Addr = REPLACE(Addr, 'St', 'Street')
WHERE Addr like '%St'

有人可以帮我代替地址的缩写部分吗?

很感谢任何形式的帮助。

约翰·卡佩莱蒂

规范化的地址可能是一个滑坡。您可能会对Blvd的变化感到惊讶。这就是为什么我建议您偷看数据库中的地址标准化

提到的是,这是一个简单易扩展的选项

Declare @YourTable table (id int,Addr varchar(150))
Insert Into @YourTable values
 (1,'123 Stripe St')
,(2,'555 SW Main St, Providence, RI')


Update @YourTable
 Set Addr = ltrim(rtrim(
            replace(
            replace(' '+Addr+' ',' St ',' Street ')
            ,' St, ',' Street, ')
            ))

Select * from @YourTable

退货

id  Addr
1   123 Stripe Street
2   555 SW Main Street, Providence, RI  -- Notice middle St with a comma.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在SQL中查找和替换或删除字符串的一部分

在特定字符串保留部分字符串以在 SQL 中替换后,如何仅替换字符串的一部分?

SQL查找替换字符作为字符串的一部分

在SQL Server中,如何比较字符串的一部分?

Transact SQL替换字符串的一部分

SQL Server仅选择字符串的一部分

SQL Server:合并,字符串的一部分丢失

sql仅在字符串的一部分中搜索

更新列MS SQL中的一部分字符串

如何获取与SQL Server中的正则表达式匹配的字符串的一部分

在 SQL 中的兩個字符之間拉取字符串的一部分,以及提取部分周圍的字符串部分

SQL-查询以查找字符串是否包含Column中值的一部分

SQL 更新字符串的一部分

仅使用SQL拉取字符串的一部分

在SQL中提取字符串的一部分

SQL查询以显示列中一部分字符串值

T-SQL:提取字符串的一部分

如何在SQL中将NULL连接为字符串的一部分

Oracle SQL-选择字符串的一部分

从对象类型列SQL中选择字符串的一部分

如何选择包含特定子字符串的单词列表作为 SQL 查询 (oracle) 的一部分?

SQL Server按字符串的一部分排序

如何从SQL字符串Base64中提取JSON字符串的一部分

如何将 Python 字符串变量添加到 Python 中的 SQL 字符串变量的一部分?

如何在分隔符和輸入到新列之間多次提取字符串的一部分 T-SQL

正则表达式修剪字符串sql的一部分

SQL:从SELECT语句返回的所有条目中删除字符串的一部分

使用T-SQL检索具有许多方案的字符串的一部分

如何使用MS SQL仅找到带括号的字符串的最后一部分