2017-12-20 16 views
0

나는 아래의 코드를 사용하여 CURDATE에 일을 추가하는 SELECT 문을 만들려고 해요 :SQL SELECT 기간을 내년에 문제

enter image description here

:

 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 

이 반환하는 방법입니다됩니다 이 내년에 날짜가 2017년 12월 10일 +12입니다 CURDATE (오늘) 2018/01/01하지만 {널 (null)}로 반환해야하기 때문에, 때문에

DATE_FORMAT(CURDATE()+10, '%m/%d/%y') as FROMTHIS, 
    DATE_FORMAT(CURDATE()+17, '%m/%d/%y') as TOTHIS, 

은 모두 반환 {널 (null)}입니다

해결 방법을 아는 사람이 있습니까? 감사

그리고 내가처럼 어디 명세서에 모두 사용하고 싶습니다 :

 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 

하지만 쿼리 아래 시도

+0

그것을 SQL-인가 서버 또는 MyXql – Kapil

+0

죄송합니다, MySql @ Kapil – correia

답변

1

을 작동하지 않습니다 :

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 
+0

안녕하세요. 제발 한 번 더 도와주세요, 제 질문을 업데이트합니다. – correia

+0

하나의 변수에 저장하고 사용하려고 시도합니다. – Mittal

+0

어떻게하면 더 좋은 방법일까요? 그런 다음 where 절에서 사용하십시오. – correia