Использование конкатенации:
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
, вероятно, является самым простым решением.
вы делаете это правильно .. – JamieD77
Your'e right;) – m4tm4t
Вы не правы. Если последние пять символов появляются несколько раз в адресе, тогда ваш метод будет в верхнем регистре всех вхождений. –