2014-01-24 2 views
0

데이터베이스와 함께 vb.net2008을 사용하는 응용 프로그램을 msaccess로 개발 중입니다. 나는 형식이 HH : MM : SS 인 열 IN_TIME 및 OUT_TIME을 갖는 데이터베이스에서 테이블을 설계했습니다. 결과를 TOT_TIME으로 지정하면이 두 열의 차이가 표시됩니다. 나는 이것에 대한 쿼리를 작성했습니다. 이제는 IN_TIME이 8:00:00 AM보다 작 으면 결과를 표시하고 싶지 않은 문제에 직면하고 있습니다. 나는 때를 사용했으나 효과가 없어서 나를 도와 줬어.CASE WHEN에서 열 작업 수행 SQL 쿼리에서 구문 조건

나는이에게 시도했습니다 지금까지 당신은 쉼표와 END의 경우 누락

SELECT * 
    (CASE WHEN LATE_LIMIT > '" + date3 + "' 
    THEN ROUND(([PM_OUT]-[OVERIME_LIMIT]),2) 
    ELSE 'N')AS OverTime 
FROM DTR_REC 
+0

당신이 최종 즉 사례를 누락 할 때 무엇인가> msacess 지원하지 않습니다 – JsonStatham

+0

뭔가 AS 뭔가 THEN 뭔가 END SQL에서와 같이 "IN-time보다> 08 : 00 : 00"? – Peter

+2

이 액세스 또는 SQL Server 질문입니까? 이 질문은 SQL Server에 대해서는 언급하지 않았지만 게시글에 그와 같은 태그를 지정 했습니까? 어쨌든 Access는'CASE' 문을 지원하지 않으므로'IIF' 나'SWITCH'를 사용할 수 있습니다. 이 게시물을 통해이를 수행하는 방법에 대한 예제를 참조하십시오. https://stackoverflow.com/questions/15774078/is-it-possible-to-using-select-case-statement-in-access-query – jpw

답변

0

:

SELECT * 
    ,(CASE WHEN LATE_LIMIT > '" + date3 + "' 
    THEN ROUND(([PM_OUT]-[OVERIME_LIMIT]),2) 
    ELSE 'N' END)AS OverTime 
FROM DTR_REC 

을하지만 액세스 CASE 문을 지원하는지 확실하지 않다. 이 작품은 않을 경우하지 :

SELECT * 
    ,IIF(LATE_LIMIT > '" + date3 + "', ROUND(([PM_OUT]-[OVERIME_LIMIT]),2),'N') AS OverTime 
FROM DTR_REC 
+1

레코드의 경우, Access SQL은 CASE [...] WHEN' 구문을 지원하지 않습니다. Access SQL에서 가능한 대안은'Switch()'와'IIf()'함수입니다. –

관련 문제