Версия, подходяща за принтиране
Кликни тук, за да видиш темата в оригиналният и вид |
BG Development Форуми > СУБД, SQL програмиране > date_sub in where |
Публикувано от: Constantine 23-02-2024, 10:49 | ||
Здравейте група, Опитвам се да пусна една заявка към базата mysql. Версия mysql: 5.7
Тук идеята е да алармирам клиента предварително седмица (7 дни) за плащане. Проблема е че не иска да ми извади тези 7 дни. Резултат = 0 редове Като задам твърдо pay_date <= "2024-02-16" - резултат има. Някаква идея ? С Уважение Константин |
Публикувано от: thrawn 23-02-2024, 11:18 |
Да нямаш проблеми с форматът на датата? Полето pay_date в какъв формат е? |
Публикувано от: Constantine 23-02-2024, 11:24 | ||
Полето се взима от базата като колонате е с формат date Пример: 2024-02-02 |
Публикувано от: thrawn 23-02-2024, 11:27 | ||
Ами това
какво връща? Между другото pay_date <= DATE_SUB(pay_date, INTERVAL 7 DAY); не трябва ли да е pay_date <= DATE_SUB(now(), INTERVAL 7 DAY); ? |
Публикувано от: Constantine 23-02-2024, 11:28 | ||||
Тук има резултат |
Публикувано от: thrawn 23-02-2024, 11:31 |
виж редакцията на поста горе |
Публикувано от: Constantine 23-02-2024, 11:38 | ||
Прябва да извадя от pay_date 7 деня ето ситуация: днес е 2024-02-23 но трябва да се плати до pay_date е 2024-03-10 т.е плащанията може да са в бъдещ период |
Публикувано от: thrawn 23-02-2024, 11:40 |
Е добре де, изваждаш 7 дена и с какво ги сравняваш? Не може със същата стойност, щото е логически абсурд. Трябва или да вадиш от now или да сравниш с now (или друга дата де) Демек, вадиш 7 дни от падежът и свряваш дали получената дата е преди днес (за да намериш всички фактури които трябва да се платят в рамките на следващите 7 дни). |
Публикувано от: Constantine 23-02-2024, 11:59 | ||||
Здравей Малко промених заявката:
Изполвам DATEDIFF че сработи ![]() |
Публикувано от: thrawn 23-02-2024, 12:05 |
То, щом работи е ОК, ама все пак е излишна гимнастика. Ако от две числа извадиш едно и също число (в твоя случай 7 дни) то разликата се запазва. Така че, или използвай само datediff или date_sub (може да обърнеш логиката с date_add). |
Публикувано от: relax4o 23-02-2024, 17:02 | ||
тук зависи вече дали имплементацията ти е чрез крон, който върви всеки ден и искаш точно 7 дни по-рано да уведомиш, или искаш всеки ден в рамките на тази седмица. |