2
我应该从地址字段中删除以下内容。查找并替换SQL Server 2005中的字符串
- 将所有名为'Flat'的单词替换为空白,同时删除伴随它的数字。
例如,我有一个名字叫'Flat 234 5th Street'。
它应该被替换为第5街。
我把查询作为
select
ltrim(rtrim(substring ('Flat 123 5th Street', charindex('Flat ','Flat 123 5th Street') + 5, len ('Flat 123 5th Street'))))
它返回
123街5号
现在,我必须找到是否直至空间的下一次出现,我有一个数值或不是。
如果数字,然后删除它,否则离开它。
任何人都可以帮忙。
问候, 喝骂
是Marc_S,我不该那么做(编辑)。 我无法用其他语言做。假设仅在T-SQL中执行。
嗨LittleBobbyTales,谢谢你的答案。 其实它不是一个标准的格式,我可能只有 平123
或平123五街1号主道
或1主平1
没有规则,我们将有1号或Flat后的2个数字。 可能有也可能没有数字。
它可以是任何一种方式。
如果您发布的代码或XML,** **请在高亮文本编辑器的线,然后点击在编辑器工具栏上的“代码”按钮(101 010)上进行很好的格式化和语法突出显示! – 2010-10-16 14:56:17
听起来像一个正则表达式的完美匹配 - 不幸的是,SQL Server的T-SQL查询语言在字符串操作/正则表达式匹配中并不是非常强大。你最好用像C#这样的传统编程语言来做这件事...... – 2010-10-16 15:02:55
同意marc_s,但出于好奇,你能否给出更多你需要解析的地址字段的例子? – LittleBobbyTables 2010-10-16 15:22:37