|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
ГДе там наш Казахский фулстек? Задачка. Есть две даты. с помощью SQL запроса - найти сколько 29-ых февраля между ними. таблицы не использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2022, 11:40 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
функцию isDATE можно использовать? PS если год невысокосный, то на 29 февраля возвращает false и даже CTE не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2022, 12:45 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
функцию isDATE можно использовать? PS если год невысокосный, то на 29 февраля возвращает false одним select-ом можно, если SQLServer или Oracle (в MySQL вот isDATE нет) а заодно выяснить как выбрать каждый из 200 месяцев в запросе для проверки учитывая что в таблице эти месяца не лежат. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2022, 12:49 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
Одним селектом можно и без ISDATE можно, предлагайте варианты как :L-) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2022, 12:50 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
а между ними может быть 100 лет и даже CTE не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2022, 12:51 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
Тупой перебор с проверкой последнего дня февраля Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 06:44 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
А зачем? Или ты считаешь что надо найти года, делящаеся на 4, убрать делящиеся на 1000 и т.п. вычисления? Ты уверен, что это сработает в начале эры? Юлианский/грегорианский календарь не без изъебов а вообще это за тем что данную задачку давали народу который еще не в курсе что такое коннект бай. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 07:41 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
На 100 убрать, на 1000 оставить, сам запутался 2000 так-то тоже нивисокосный был Но смысла для разовой задачи не вижу -- только как тут любят, проверить на знание предмета ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 07:42 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
На 100 убрать, на 1000 оставить, сам запутался 2000 так-то тоже нивисокосный был Но смысла для разовой задачи не вижу -- только как тут любят, проверить на знание предмета Ну можно запросить ALL_OBJECTS или GENERATE_SERIES (или как он там называется) Или можно решить, что ты знаешь как вычисляется високосный год (какой год был 0?) Но зачем? но у и если оллобжект брать как вариант генерации последовательности а месяцев может быть больше и кстати у всех ли пользователей есть доступ к этой таблице то есть прикол в том как это дело рассчитать не генерируя простыню из февралей для проверки високосные они или нет. а как вычисляется високосный год тут знать не надо оракл знает или мсскуль у него и можно спросить причем необязательно ластдеем я ж говорю синтетическая задачка для академических целей. ... |
|||
:
Изменено: 17.10.2022, 08:06 - Doublekey
Нравится:
Не нравится:
|
|||
17.10.2022, 08:06 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
ПАТАМУЧТА ГЛАДИОЛУС! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 08:07 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
но у и если оллобжект брать как вариант генерации последовательности а месяцев может быть больше и кстати у всех ли пользователей есть доступ к этой таблице Доступ есть у всех, но если хочется побольше можно и декартово произведение с ним же захреначить Но ты так и не привел красивого решения на тему красоты не возьмусь говорить. ибо чистая математика не всегда красива. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 08:41 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
Чистая математика здесь, к сожалению, не работает Если ты в курсе, то все эти 29 февраля пошли именно из-за различия в дате Пасхи (и не надо держать наркомана) Пока это не будет закреплено в соответствующем ПО, это будет не очень-то легитимно Сказал коряво, но как-то так я ж не говорю о математике рассчитать собственноручно какой год считается високосным какой нет, для этого действительно надо пересматривать каждый год периода ибо чиста тупо делить на 4 тут работать и не будет. и уж это действительно незачем. опираемся на то что оракл в курсе какие года високосные и может нам поведать эту тайну. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 08:52 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
Чистая математика здесь, к сожалению, не работает Если ты в курсе, то все эти 29 февраля пошли именно из-за различия в дате Пасхи (и не надо держать наркомана) Пока это не будет закреплено в соответствующем ПО, это будет не очень-то легитимно Сказал коряво, но как-то так ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 08:53 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
Т.е. таки перебор? кроме того в начале топа было сказано ТАБЛИЦЫ НЕ ИСПОЛЬЗОВАТЬ!!! мое решение целиком на фромдуалах. ... |
|||
:
Изменено: 17.10.2022, 08:58 - Doublekey
Нравится:
Не нравится:
|
|||
17.10.2022, 08:55 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
опираемся на то что оракл в курсе какие года високосные и может нам поведать эту тайну. я предполагаю что любая бд из популярных знает какгой год високосный какой нет ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 08:56 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
А, или end_date-start_date и month_between и вычисление лишнего? Ну тоже годно ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 08:57 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
Ты ведь до сих пор не ответил -- 0 год -- это какой Только чур, в википедию не лезть! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 08:59 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
Хорошо, залезь в википедию ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 09:06 |
|
SQL / Зодачко
|
|||
---|---|---|---|
#18+
Короче вот. Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2022, 11:34 |
|
|
Start [/forum/search.php?do_search=1&tid=5111&author_mode=wrote_post&author=Doublekey&start_from=186871]: |
0ms |
get settings: |
1ms |
get forum list: |
6ms |
searching: |
9ms |
get settings: |
1ms |
get forum list: |
4ms |
get topic data: |
2ms |
check forum access: |
0ms |
check topic access: |
0ms |
get forum data: |
0ms |
get found posts: |
43ms |
track hit: |
27ms |
get online users: |
47ms |
check new: |
1ms |
others: | 249ms |
total: | 390ms |
0 / 0 |