我有以下工作查询:
SELECT
REPLACE(
AddressLine1, RIGHT( AddressLine1, 5 ),
UPPER( RIGHT( AddressLine1, 5 ) )
)
FROM Person.Address
还有其他方法吗?
答案 0 :(得分:1)
使用连接:
select left(addressline1, len(addressline1) - 5) + upper(right(addressline1, 5))
from person.address;
您的方法很危险,因为无法保证最后五个字符只在地址中出现一次。
嗯,你也可以这样做:select stuff(addressline1, len(addressline1) - 4, 5, upper(right(addressline1, 5)))
from person.address;
这两种表述都假设addressline1
至少有5个字符。如果可以使用更短的地址,那么case
可能是最简单的解决方案。