Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть данные по промо. Каждое промо имеет дату начала и дату окончания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2019, 16:34 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
Нужно выгрузить те промо, которые пересекаются с декабрем 2018 г. Написал такой SQL-запрос. SQL-запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. Как можно было проще написать условие? Желательно с учетом такого фактора, если в полях [discount_begin] и/или [discount_end] присутствуют NULL. Есть ли специальные встроенные функции или необходимость в создании встроенной функции для поиска пересечении периодов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2019, 16:35 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
Вот тут, страдалец, https://www.sql.ru/forum/1308064/nayti-vse-neperesekaushhiesya-i-nesmezhnye-promezhutki-vremeni многократно написано условие пересечения. Есть даже с null... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2019, 16:38 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
ferzmikkесли в полях [discount_begin] и/или [discount_end] присутствуют NULLИ как же интерпретируются NULLы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2019, 16:39 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
ferzmikk, Код: sql 1. 2. это как-то странно авторКаждое промо имеет дату начала и дату окончания. автор[discount_begin] и/или [discount_end] присутствуют NULL но что-то типа Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2019, 16:39 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
TaPaK, Естественно это упирается в два условия. discount_begin <= @discount_end AND discount_end >= @discount_begin Для особо продвинутых предлагаю написать условие пересечь прямоугольники и кубы. Должно быть 4 для прямоугольника и 6 для куба. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2019, 17:04 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
ferzmikk, условие попроще Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2019, 17:49 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
Asicferzmikk, условие попроще Код: sql 1. 2. Полный бред ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2019, 18:00 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
TaPaKAsicferzmikk, условие попроще Код: sql 1. 2. Полный бред Это ведь заменит условие: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. разве нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 09:48 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
Asic, если перевсти, то если период начался раньше и закончился поже периода отбора, то он по вашему не должен попасть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 09:55 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
TaPaKAsic, если перевсти, то если период начался раньше и закончился поже периода отбора, то он по вашему не должен попасть 4-й вариант не отбирает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 10:03 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
ferzmikkTaPaKAsic, если перевсти, то если период начался раньше и закончился поже периода отбора, то он по вашему не должен попасть 4-й вариант не отбирает можно ещё 20 нарисовать которые будут что-то не делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 10:05 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
TaPaKferzmikkпропущено... 4-й вариант не отбирает можно ещё 20 нарисовать которые будут что-то не делать 21796027 4-й вариант это discount со значением 0004. На скриншоте видно, что должно попасть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 10:24 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
ferzmikkTaPaKпропущено... можно ещё 20 нарисовать которые будут что-то не делать 21796027 4-й вариант это discount со значением 0004. На скриншоте видно, что должно попасть Я потерял нить ваших аргументов. Предлагает: авторусловие попроще where discont_begin between @discount_begin and @discount_end or discount_end between @discount_begin and @discount_end при таком попадёт только ваш 4й вариант и всё, о чём вы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 10:26 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
Надо кофе пить :) я и себя уже не понимаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 10:30 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
TaPaK, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 10:36 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
AsicTaPaK, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Всё равно нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 10:40 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
TaPaKAsic, если перевсти, то если период начался раньше и закончился поже периода отбора, то он по вашему не должен попасть Так да, период начался раньше и закончился позже периода отбора и он попал в выборку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 10:43 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
AsicTaPaKAsic, если перевсти, то если период начался раньше и закончился поже периода отбора, то он по вашему не должен попасть Так да, период начался раньше и закончился позже периода отбора и он попал в выборку это явно не ваше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 10:45 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
TaPaKferzmikkпропущено... 21796027 4-й вариант это discount со значением 0004. На скриншоте видно, что должно попасть Я потерял нить ваших аргументов. Предлагает: авторусловие попроще where discont_begin between @discount_begin and @discount_end or discount_end between @discount_begin and @discount_end при таком попадёт только ваш 4й вариант и всё, о чём вы?Когда я писал условие, то я исходил такой логикой, что для попадания в анализируемый период теоретически возможно 4 варианта: 1. Промо началось ранее анализируемого периода (в данном случае это декабрь 2018) и закончилось в анализируемом периоде. 2. Промо началось в анализируемом периоде, но закончилось позже анализируемого периода 3. Промо началось и закончилось внутри анализируемого периода 4. Промо начало ранее анализируемого периода и закончилось позже анализируемого периода Из этих пунктов получилось сложное условие ferzmikk Код: sql 1. 2. 3. 4. 5. 6. 7. 8. TaPaKferzmikk, Код: sql 1. 2. Отбираются все 4 варианта Asicferzmikk, условие попроще Код: sql 1. 2. Отбирает 1, 2 и 3 варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 10:45 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
ferzmikk, Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 11:16 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
Asicferzmikk, Код: sql 1. 2. 3. 4. Всё ещё нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 11:20 |
|
||
|
Пересечение периодов
|
|||
|---|---|---|---|
|
#18+
TaPaK, что я упустил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 11:37 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39766370&tid=1688378]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 400ms |

| 0 / 0 |
