2017-09-19 1 views
1

어제 만 요청할 수 있지만 성공하지 못했습니다 ...어제 날짜를 SQL로 가져 오기

내 검색어 요청.

SELECT registeredDaySell FROM new_sell WHERE DATE_SUB(CURDATE(), INTERVAL 1 DAY) 

내 날짜는 이렇게 구성됩니다.

16 September, 2017

나를 도와 주셔서 감사합니다.

+1

날짜가 아닌 문자열로 저장해야합니다. –

+0

@GordonLinoff 종류 '구간 5 일'? 예를 보여 주시겠습니까? – Gabriel

+0

where 절이 계산 된 날짜와 데이터를 비교하지 않으면> = –

답변

0

SELECT producFinalPrice에게 . 해당 번호를 변경하여 1보다 큰 경우 되돌아 갈 일수를 얻을 수 있습니다.

+0

'잡히지 않은 예외 : 오류 : ER_BAD_FIELD_ERROR : 'where 절'에 'date'알 수없는 열''(date) ='에 내 producFinalPrice를 기입해야합니까? – Gabriel

0

@Gordon이 언급했듯이, 날짜 유형 열에 또는 UNIX 시간 소인 (기원 이후 초)으로 날짜를 저장하는 것을 고려해야합니다. 가능한 해결 방법은 STR_TO_DATE을 사용하여 문자열 날짜를 실제 날짜로 변환하는 것입니다.

SELECT 
    producFinalPrice 
FROM new_sell 
WHERE 
    STR_TO_DATE(date_col, '%d %M, %Y') = DATE_SUB(CURDATE(), INTERVAL 1 DAY) 

date_col 문자열 날짜가 포함 된 테이블의 열 이름입니다 가정합니다. 1

+0

구문 정의 오류가 발생했습니다. '잡히지 않은 예외 : SyntaxError : ../server/index.js : 예기치 않은 토큰'this router from get router.get ('/ sell/home-card-last-sell-yesterday', function (req, res) { connection.query ('err, lastSellYesterdayCardHome, fields) { if (err)}} {} {함수가 (err, lastSellYesterdayCardHome, fields) { if (오류가 발생했습니다. { throw err; } res.send (lastSellYesterdayCardHome); } ); }); ' – Gabriel

+0

@GabrielCorrea 문자열에 이스케이프 처리되지 않은 작은 따옴표가 있지만 작동하지 않습니다. _double_ 따옴표로 전체 검색어를 래핑 해보세요 (예 : 'connection.query ("YOUR QUERY HERE")' –

+0

'date_col'을 내 'producFinalPrice'로 변경해야합니까? – Gabriel

0
SELECT producFinalPrice FROM new_sell 
WHERE where date >= DATEADD(day, -1, convert(date, GETDATE())) 
    and date < convert(date, GETDATE()) 

-1 "오늘"마이너스 1 일 동일시 - WEEK (날짜) = WEEK (CURRENT_DATE가) new_sell FROM

+0

'CONVERT'는 MySQL 기능이 아닌 SQL Server 기능입니다. –

+0

감사합니다. 좋은 캐치. –

관련 문제