Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, подскажите каким образом можно сравнить даты, чтобы день отличался +-2 дня, месяц тот же, а год любой. Объясню задачу - необходимо отобрать с таблицы продаж, те продажи которые были совершены в +-2 дня от дня рождения клиента. набросал такой селект, он срабатывает, но не так как нужно естественно, от отбирает только те продажи которые совершены в этот же год что и продажа (да косяк есть в базе с датами рождения) Не силен в sql к сожалению, надеюсь на Вашу помощь Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 10:31 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
orensymrakчтобы день отличался +-2 дня, месяц тот же, а год любой.Приведите всё к одному году, например: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 10:39 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
alexeyvg Код: sql 1. Только, что бы не было переполнения, нужно приводить не к нулевому году, а куда нибудь поближе, например, к 2000-у: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 10:42 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
alexeyvg, ОГРОМНОЕ спасибо, это именно то что нужно, и да приведение к 2000 более точнее сработало! Конечно же привел к своему году ближе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 11:09 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
orensymrakприведение к 2000 более точнее сработало! Конечно же привел к своему году ближеОт года точность не зависит, главное, что бы не было переполнения (год которого зависит от типа данных) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 11:13 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
alexeyvg, еще такой вопрос как обнулить часы минуты секунды, а то попался такой клиент у которого была продажа 2019-09-22 10:54:08.000, а дата рождения 1982-09-20 00:00:00.000, соответственно -2 не захватывает эту продажу, ставлю +-3 тогда продажа попадает, но и тогда попадают продажи и в разность 3 дня Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 11:34 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
orensymrak, Вы можете использовать abs(datediff...), с between избыточно и не точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 12:02 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
orensymrakalexeyvg, как обнулить часы минуты секунды можно конвертнуть в date Код: sql 1. либо посчитать разницу в днях от даты в прошлом Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 12:08 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
В принципе разобрался, на начало дня дата бралась поэтому переделал сравнивание и сделал -2 и +3 и тогда все отлично сработало Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 12:22 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
orensymrak, Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 12:46 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, А проблемы клиентов, которые родились в последние 2 или начальные два дня месяца попадают продажи только в свой месяц? Оскорбление чувств родившихся на границе месяцев (и года)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 13:10 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
Tigrist, да, верно :) С датами так нельзя обращаться! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 13:19 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
Дабы не плодить темы, спрошу в своей же теме)) Подскажите как объединить столбцы с CASE Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Результат: Код: sql 1. 2. 3. В итоге я хочу получить 1 строку Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2019, 13:06 |
|
||
|
Операции с датами
|
|||
|---|---|---|---|
|
#18+
orensymrak, SUM - вынеси до case T_Objects.Object - убери из GROUP BY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2019, 13:16 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39880927&tid=1687078]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 343ms |

| 0 / 0 |
