Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Oracle

Склонение существительных в зависимости от количества : Oracle

26.04.2024 21:52


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, время: 21:52.

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