Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

SQL-запрос,возвращающий все имена месяцев

12K
13 ноября 2006 года
Slavok
20 / / 05.06.2006
Здравствуйте, использую Oracle. Такой вопрос:как написать SQL-запрос, возвращающий все имена месяцев?
337
13 ноября 2006 года
shine
719 / / 09.06.2006
Не понимаю в чем проблема. Создай таблицу формата month_number;month_name. Забей туда все 12 месяцев и выбирай из этой таблицы все что тебе нужно. Какие проблемы?
Можешь вместо month_name создать несколько столбцов для разных языков: month_name_ru; month_name_en; month_name_uk.
2
13 ноября 2006 года
squirL
5.6K / / 13.08.2003
все сразу - врядли получится. а зачем, если не секрет?
получить месяц по дате можно. есть функции обрабатывающие TIMESTAMP. для разных баз - разные:
SELECT MONTHNAME([COLOR=red]'2006-11-13'[/COLOR]);
вернет November
такая фича отработает в MySQL, Oracle.
10
13 ноября 2006 года
Freeman
3.2K / / 06.03.2004
[QUOTE=shine]Не понимаю в чем проблема. Создай таблицу формата month_number;month_name. Забей туда все 12 месяцев и выбирай из этой таблицы все что тебе нужно. Какие проблемы?[/QUOTE]
Не, слишком просто. Вопрос из серии "Ask Tom".

Блин, совершенно потерял квалификацию, хоть и работаю в отделе по разработке на технологиях Oracle. Короче, суть в том, что делается выборка из какой-либо системной таблицы, заведомо имеющей больше 12 записей, и полученный rownum по формуле "скармливается" to_char для даты. Типа:
 
Код:
select
  to_char(to_date('01'||rownum||'2006', 'ddmmyyyy), 'mmmm')
from
  all_tables
where
  rownum <= 12

Запрос неточный, подгоняй по справке.
12K
14 ноября 2006 года
Slavok
20 / / 05.06.2006
Всем спасибо, воспользуюсь советом Freeman, красивое решение
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог