MS 액세스 코드의이 부분에서 고객 가입시 MAX 날짜를 얻으려고합니다. 먼저 집계 함수로 작업 할 수 있도록 날짜를 변환해야합니다. 불행히도 날짜 열에 null 인 영역이 있습니다.해결 방법 또는 해결 방법 오류 : 잘못된 Null 사용?
오류가 발생했습니다 일부 누락 된 날짜로 인해 null이 잘못되었습니다.
어떻게 해결할 수 있습니까? 해결 방법이 있습니까?
SELECT CUSTOMER.FIRST_NAME,
MAX(DateSerial(CInt(Left([CUSTOMER.SIGNUP_DATE],4)),CInt(Mid([CUSTOMER.SIGNUP_DATE],5,2)),CInt(Right([CUSTOMER.SIGNUP_DATE],2)))) AS SIGN_DATE,
(DateSerial(CInt(Left([CUSTOMER.LEAVE_DATE],4)),CInt(Mid([CUSTOMER.LEAVE_DATE],5,2)),CInt(Right([CUSTOMER.LEAVE_DATE],2)))) AS LEV_DATE
FROM CUSTOMER
WHERE ((DateSerial(CInt(Left([CUSTOMER.SIGNUP_DATE],4)),CInt(Mid([CUSTOMER.SIGNUP_DATE],5,2)),CInt(Right([CUSTOMER.SIGNUP_DATE],2)))) <=Date())
AND ((DateSerial(CInt(Left([CUSTOMER.LEAVE_DATE],4)),CInt(Mid([CUSTOMER.LEAVE_DATE],5,2)),CInt(Right([CUSTOMER.LEAVE_DATE],2)))) =#012/31/2012#)
GROUP BY
CUSTOMER.FIRST_NAME,
CUSTOMER.SIGNUP_DATE,
CUSTOMER.LEAVE_DATE;
제안 :보기를 만들라는 말을 'CurrentCustomers' 그 NULL 'LEAVE_DATE'로 고객을 걸러 내고 VIEW를 타켓팅합니다. 그러나 당신은 정말로이 텍스트를 날짜 열을 실제 시간 가치로 영구히 대체해야합니다. 즉석에서이를 수행하려고 시도하십시오. – onedaywhen
감사! 먼저 집계를 추가하는 것보다 null을 필터링하는 것에 대해 생각하고있었습니다. 테이블은 Access에 연결되어 있으므로 해당 텍스트 값을 날짜로 변환해야합니다. – Asynchronous
괄호 안에 이름을 넣으면 제대로 작동합니까? 예를 들어서는 안됩니다. '[CUSTOMER.SIGNUP_DATE]'대신 [[CUSTOMER]. [SIGNUP_DATE]'입니까? 나는 MS Access 직원이 아니므로 바보 같은 질문이라면 실례합니다. –