[ОТВЕТИТЬ]
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;
прислали :) потестите, пожалуйста?
 
 




- - RSS - - Карта - 👫 Яндекс.Метрика