【发布时间】:2011-05-22 03:04:42
【问题描述】:
我有一个标准化地址的函数。我现在想做的是删除有限的指定列表中的任何字符串,如果它们出现在字符串的末尾。假设我要删除的字符串是'st','ave','rd','dr','ct'......如果字符串以这些字符串中的任何一个结尾,我想删除它们。使用 T-SQL 完成此操作的最佳方法是什么(这将成为 select 语句的一部分)?
编辑:
这是一个接受一个地址并对其进行格式化的函数。我想以最简单的方式内联代码和列表。例如,我一直在玩的一些代码是:
if @address LIKE '%st'
SET @address = substring(@address, 1, PatIndex('%st', @address) - 1)
这是一个好方法吗?我怎样才能把它放在某种循环中,以便我可以用不同的值(st 除外)重复这段代码?
【问题讨论】: