SQL. Как выводить окончание у множественного числа (5 заказОВ, 3 заказА)

Время чтения - менее одной минутыДата публикации 30.05.2020

Используйте функцию as_countEnding

create FUNCTION [dbo].[as_countEnding]  -- дает окончание слова 3 заказА, 7 заказОВ
(
    @num as int
)
RETURNS varchar(500)
AS
BEGIN
  DECLARE @res as nvarchar(10),@digit int

  set @digit = cast(RIGHT(cast(@num as nvarchar),1) as int)
  set @res = case 
	when @digit in (1) then N'' 
	when @digit in (2,3,4) then N'а' 
	when @digit in (5,6,7,8,9,0) then N'ов'
   end 
  
 
  RETURN @res
END

Выполнение: 

select [dbo].[as_countEnding](123) -- возвращает 'а'
Насколько полезной была статья?

Что еще посмотреть по SQL Server

Как запустить SQL сценарий сразу на нескольких БД

Индексы SQL Server. Поиск дубликатов

Запрос для получения SQL всех индексов для таблиц базы данных SQL Server

Как перестроить все индексы на базе SQL Server

Как разрезать строку на части в SQL по некоторому символу

Конвертация из строки в таблицу в SQL Server

Выполнение прямого запроса к URL из SQL

SQL Server Как установить у таблицы описание (MS Description)

Как получить текущего юзера БД

Как хранить в 1 поле таблицы БД значения разных типов?

Генерация MD5 в SQL Server

Как привести телефон в нормализованный вид

Дополнительный заработок для разработчиков на T-SQL

Прямая работа с заказчиками как ИП или самозанятый. Нужно знать только SQL и HTML.
Falcon Space - платформа для создания сайтов с личными кабинетами
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Запрос расчета стоимости веб-проекта на базе Falcon Space
Если видео Youtube плохо грузится, то попробуйте найти видео в ВК видео на канале Falcon Space
Сайт использует Cookie, Яндекс Метрику. Используя сайт, вы соглашаетесь с правилами сайта. См. Правила конфиденциальности и Правила использования сайта OK