ホームページ >データベース >mysql チュートリアル >CASE ステートメントを使用しない Access で最大日付を見つける方法は?
Microsoft Access は、他のデータベース システムとは異なり、CASE ステートメントを直接サポートしていません。 これらを使用しようとするとエラーが発生します。 ただし、組み込みの IIF()
関数と Switch()
関数を使用しても同じ結果を達成できます。
IIF()
関数は条件付きロジックを提供します。その構造は次のとおりです:
<code class="language-sql">IIF(condition, true_result, false_result)</code>
たとえば、2 つのフィールド (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 ステートメントを使用しない Access で最大日付を見つける方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。