[ОТВЕТИТЬ]
11.12.2013 17:27
OlegON
 
Может, кто хочет размять мозг или уже делал и может поделиться функцией на SQL/PL\SQL для склонения существительных в зависимости от количества?
Меня, например, интересует склонение месяцев. Т.е.
1 месяц
2 месяца
12 месяцев
....
11.12.2013 17:49
whitewizard
 
там вариантов всего ничего:
Если оканчивается на
0 - месяцев
1 - месяц
2...4 - месяца
5...9 - месяцев

но, если оканчивается на 11...19 - месяцев
17.12.2013 13:41
OlegON
 
Код:
select 
:p01,
case when (mod(:p01,100)>=11 and mod(:p01,100)<=14) then 'месяцев' 
when mod(:p01,10)=0 then 'месяцев'
when mod(:p01,10)=1 then 'месяц'
when mod(:p01,10)=2 then 'месяца'
when mod(:p01,10)=3 then 'месяца'
when mod(:p01,10)=4 then 'месяца'
when mod(:p01,10)=6 then 'месяцев'
when mod(:p01,10)=7 then 'месяцев'
when mod(:p01,10)=8 then 'месяцев'
when mod(:p01,10)=9 then 'месяцев'
when mod(:p01,10)=5 then 'месяцев'
end months
from dual;
прислали :) потестите, пожалуйста?
Опции темы


Часовой пояс GMT +3, время: 13:18.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.