Условное редактирование вывода в запросе SQL

Я пытаюсь извлечь данные из столбца в таблице, которую я назвал Vendors, и имя столбца VendorContactLName. У меня также есть столбец VendorContactFName. Я пытаюсь сделать так, чтобы при извлечении данных он условно изменял вывод строки.

Например, я хочу добавить апостроф в конец имени, которое я могу сделать:

SELECT VendorContactFName + ' ' + VendorContactLName + '''s' AS 'Vendor Full Name' FROM Vendors;

Однако я хотел бы сделать так, чтобы, если так получилось, что фамилия в VendorContactLName уже оканчивается на "s", я присоединяю к нему только апостроф, а не апостроф и "s".

Итак, я бы хотел, чтобы Карл Аллен, Майкл Данлэп и Мишель Хиггинс выступили в роли Карла Аллена, Майкла Данлэпа и Мишель Хиггинс.

Спасибо за помощь.

1 ответ

Решение

Проверь это:

SELECT VendorContactFName + ' ' +
 (case right(VendorContactLName,1) 
  when 's' then VendorContactLName + ''''
  else VendorContactLName + '''s' 
  end) as 'Vendor Full Name'
 FROM Vendors

демо здесь

Другие вопросы по тегам