powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как получить все дни года
8 сообщений из 33, страница 2 из 2
как получить все дни года
    #39504403
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1582Для года в 355 днейКакая галактика? Какая звезда? Какая по счёту планета?
Или сколько +/- миллиардов лет?
...
Рейтинг: 0 / 0
как получить все дни года
    #39504436
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicКакая галактика? Какая звезда? Какая по счёту планета?
Или сколько +/- миллиардов лет?

Товарищ имеет ввиду введение грегорианского календаря (так называемая папская булла Inter Gravissimas):

удалялись 10 дней (только в 1582 году) — после 4 октября 1582 года должно последовать 15 октября 1582 года. И Oracle этой булле следует :)

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SQL> select to_char(date '1582-10-4' + 1,'fmDD Month, YYYY') from dual;

TO_CHAR(DATE'158
----------------
15 October, 1582

SQL> select date '1583-1-1' - date '1582-1-1' from dual;

DATE'1583-1-1'-DATE'1582-1-1'
-----------------------------
                          355

SQL>



SY.
...
Рейтинг: 0 / 0
как получить все дни года
    #39504445
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя с ISO литералами не все пучком:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SQL> select date '1582-10-5' from dual;

DATE'1582
---------
05-OCT-82

SQL> select to_char(date '1582-10-5','fmDD Month, YYYY') from dual;

TO_CHAR(DATE'1582-
------------------
00 000000000, 0000

SQL>



Да и с TO_DATE я ожидал что-то типа "invalid date" а получил:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SQL> select to_date('1582-10-5','YYYY-MM-DD') from dual;

TO_DATE('
---------
15-OCT-82

SQL> select to_char(to_date('1582-10-5','YYYY-MM-DD'),'fmDD Month, YYYY') from dual;

TO_CHAR(TO_DATE(
----------------
15 October, 1582

SQL>



SY.
...
Рейтинг: 0 / 0
как получить все дни года
    #39504450
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYне все пучком
Код: plsql
1.
2.
3.
4.
5.
SQL> select to_char(date'1582-12-31', 'ddd'), date'1582-12-31'-date'1581-12-31' from dual;

TO_ DATE'1582-12-31'-DATE'1581-12-31'
--- ---------------------------------
365                               355
...
Рейтинг: 0 / 0
как получить все дни года
    #39504592
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Календула,

зачем order by 1?

.....
stax
...
Рейтинг: 0 / 0
как получить все дни года
    #39504623
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StaxКалендула,

зачем order by 1?

.....
stax

Stax, да бог с этим order by 1. Тебя

Код: plsql
1.
  connect by date '2017-01-01' + level < date '2018-01-01' 




не смущает?

SY.
...
Рейтинг: 0 / 0
как получить все дни года
    #39504779
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax, да бог с этим order by 1. Тебя

Код: plsql
1.
  connect by date '2017-01-01' + level < date '2018-01-01' 


не смущает?
SY.[/quot]

смущает, но при первом же прогоне ошибку обнаружат

order by ж оставят
по чесному то я надеялся что оптимизатор сортировку проигнорирует, но нет - упорядочивает

.....
stax
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
как получить все дни года
    #40116949
alexekoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Много разных вариантов, вот еще один
Код: plsql
1.
select trunc(to_date(:p_date, 'YYYY-MM-DD') + 1 - rownum) as date_value from dual connect by rownum < 181;
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как получить все дни года
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]