Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как выделить месяц из поля типа date ?  [new]
esr
Member

Откуда: Moscow
Сообщений: 189
Есть поле типа date, в нем значение 01.12.08.

А как выделить месяц из этой даты в запросе? Есть такая функция в Oracle?
16 янв 09, 10:48    [6694960]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить месяц из поля типа date ?  [new]
Batsall
Member

Откуда: Москва
Сообщений: 360
Extract (Month from date1)
16 янв 09, 10:51    [6694982]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить месяц из поля типа date ?  [new]
__vvp_
Member

Откуда: Санкт-Петербург
Сообщений: 1158
esr,

select extract(month from to_date('01.12.08', 'dd.mm.yy')) from dual;
select to_char(to_date('01.12.08', 'dd.mm.yy'), 'mm') from dual;
16 янв 09, 10:53    [6694998]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить месяц из поля типа date ?  [new]
Сергей Арсеньев
Member

Откуда:
Сообщений: 4118
Вы про
Select TO_CHAR(Sysdate,'MM') from dual;
?
16 янв 09, 10:53    [6695001]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить месяц из поля типа date ?  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
select to_char(to_date('01.12.2008','DD.MM.YYYY'),'MM') from dual;
16 янв 09, 10:54    [6695011]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить месяц из поля типа date ?  [new]
Сергей Арсеньев
Member

Откуда:
Сообщений: 4118
Сергей Арсеньев,

Я бы даже добавил:

select DECODE(TO_CHAR(Sysdate,'MM'),'01','Январь','02','Февраль','Остальные') from dual;

И еще много чудесных способов.
16 янв 09, 11:02    [6695068]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить месяц из поля типа date ?  [new]
Иван Помидоров
Member

Откуда: альянс
Сообщений: 1108
esr,

SQL> select to_char(sysdate,'month') from dual;

TO_CHAR(SYSDATE,'MONTH')
------------------------
january
16 янв 09, 11:05    [6695100]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить месяц из поля типа date ?  [new]
esr
Member

Откуда: Moscow
Сообщений: 189
Спасибо всем за помощь! Заработало!
16 янв 09, 12:09    [6695685]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить месяц из поля типа date ?  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
Иван Помидоров
january


Not exactly:

SQL> select '[' || to_char(sysdate,'month') || ']' from dual;

'['||TO_CHA
-----------
[january  ]

SQL> select '[' || to_char(sysdate,'FMmonth') || ']' from dual;

'['||TO_CHA
-----------
[january]

SQL> 

SY.

Сообщение было отредактировано: 17 янв 09, 01:20
17 янв 09, 00:00    [6699703]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить месяц из поля типа date ?  [new]
Evgeny_Z
Member

Откуда:
Сообщений: 36
Сергей Арсеньев

Я бы даже добавил:
select DECODE(TO_CHAR(Sysdate,'MM'),'01','Январь','02','Февраль','Остальные') from dual;
И еще много чудесных способов.

Еще один чудесный способ:
SQL> select to_char(sysdate,'fmMonth','nls_date_language=russian') rus
   ,to_char(sysdate,'fmMonth','nls_date_language=ukrainian') ukr
   ,to_char(sysdate,'fmMonth','nls_date_language=french') fr
   ,to_char(sysdate,'fmMonth','nls_date_language=american') eng
from dual;

RUS      UKR      FR        ENG       
-------- -------- --------- --------- 
Январь   Січень   Janvier   January
18 янв 09, 13:13    [6701825]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить