Я пытаюсь создать инструкцию select, добавляющую дни в CURDATE, используя следующий код:
SELECT
po.factory,
po_item.po,
po_item.style,
po_item.style_name,
po_item.customer_style,
po_item.colors,
po_item.material,
po_item.pairs,
po.sef,
po.client,
ROUND(((po_item.pairs)/12)) as total_ctn,
style.shoe_dimension,
factory.official_name,
DATE_FORMAT(CURDATE()+10, '%m/%d/%y') as FROMTHIS,
DATE_FORMAT(CURDATE()+17, '%m/%d/%y') as TOTHIS,
CASE WHEN
po.rlsd is not null THEN po.rlsd ELSE po.lsd END AS date
FROM
po_item
inner join po on
po_item.po = po.po
inner join factory on
po.factory = factory.id
inner join style on po_item.style = style.style
inner join client on po.client = client.id
inner join divisions on client.division = divisions.id
WHERE
divisions.group_division_id = '19'
AND po.ref is null
AND po.status != 'C'
ORDER BY
po.cls DESC
Вот как возвращается:
DATE_FORMAT(CURDATE()+10, '%m/%d/%y') as FROMTHIS,
DATE_FORMAT(CURDATE()+17, '%m/%d/%y') as TOTHIS,
возвращаются {null}, потому что это дата следующего года, так как CURDATE (сегодня), которая составляет 2017/12/10 +12, должна быть 2018/01/01, но возвращаться как {null}
Кто-нибудь знает, как это исправить? Спасибо
И тогда я хотел бы использовать оба выражения where, например:
SELECT
po.factory,
po_item.po,
po_item.style,
po_item.style_name,
po_item.customer_style,
po_item.colors,
po_item.material,
po_item.pairs,
po.sef,
po.client,
ROUND(((po_item.pairs)/12)) as total_ctn,
style.shoe_dimension,
factory.official_name,
DATE_FORMAT(po.cls, '%m/%d/%y') AS date_cls,
DATE_FORMAT(CURDATE(), '%m/%d/%y') as date_today,
DATE_FORMAT(CURDATE()+10, '%m/%d/%y') as audit,
DATE_FORMAT(DATE_ADD(CURDATE(),INTERVAL 12 DAY), '%m/%d/%y') AS FROMTHIS,
DATE_FORMAT(DATE_ADD(CURDATE(),INTERVAL 17 DAY), '%m/%d/%y') AS TOTHIS,
CASE WHEN
po.rlsd is not null THEN po.rlsd ELSE po.lsd END AS date
FROM
po_item
inner join po on
po_item.po = po.po
inner join factory on
po.factory = factory.id
inner join style on po_item.style = style.style
inner join client on po.client = client.id
inner join divisions on client.division = divisions.id
WHERE
po.cls BETWEEN 'FROMTHIS' AND 'TOTHIS'
AND divisions.group_division_id = '19'
AND po.ref is null
AND po.status != 'C'
ORDER BY
po.po,
po.cls DESC
но не работает
Попробуйте выполнить запрос:
SELECT DATE_FORMAT(DATE_ADD(CURDATE(),INTERVAL 10 DAY), '%m/%d/%y') AS FROMTHIS
SELECT DATE_FORMAT(DATE_ADD(CURDATE(),INTERVAL 17 DAY), '%m/%d/%y') AS TOTHIS