Microsoft Access는 다른 데이터베이스 시스템처럼 CASE 문을 직접 지원하지 않습니다. 이를 사용하려고 하면 오류가 발생합니다. 그러나 내장된 IIF()
및 Switch()
기능을 사용하면 동일한 결과를 얻을 수 있습니다.
IIF()
함수는 조건부 논리를 제공합니다. 구조는 다음과 같습니다.
<code class="language-sql">IIF(condition, true_result, false_result)</code>
예를 들어 두 필드(LASTSERVICEDATE
및 [Last CP12 Date]
) 사이의 최대 날짜를 찾으려면 다음을 사용합니다.
<code class="language-sql">IIF(dbo_tbl_property.LASTSERVICEDATE > Contour_dates.[Last CP12 Date], dbo_tbl_property.LASTSERVICEDATE, Contour_dates.[Last CP12 Date])</code>
더 크면 LASTSERVICEDATE
을 반환합니다. 그렇지 않으면 [Last CP12 Date]
을 반환합니다.
더 복잡한 시나리오의 경우 Switch()
기능은 다중 조건부 접근 방식을 제공합니다.
<code class="language-sql">Switch( expr1, value1, expr2, value2, ..., exprN, valueN )</code>
각 expr
은 순차적으로 평가됩니다. expr
이 true이면 해당 value
이 반환됩니다. 중요한 점은 일치하는 항목이 발견된 후에도 Access가 모든 표현식을 평가한다는 것입니다. 이러한 특성으로 인해 발생할 수 있는 오류나 예상치 못한 동작에 주의하세요.
이러한 예를 특정 필드 및 테이블 이름에 맞게 조정하는 것을 잊지 마세요. 여러 열이나 행에서 최대 날짜를 찾으려면 하위 쿼리 또는 집계 함수 내의 MAX()
과 같은 고급 SQL 기술이 필요할 수 있습니다.
위 내용은 CASE 문 없이 액세스 최대 날짜를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!