Microsoft Access tidak menyokong kenyataan CASE secara langsung seperti beberapa sistem pangkalan data lain. Percubaan untuk menggunakannya akan mengakibatkan ralat. Walau bagaimanapun, anda boleh mencapai hasil yang sama menggunakan fungsi IIF()
dan Switch()
terbina dalam.
Fungsi IIF()
menyediakan logik bersyarat. Strukturnya ialah:
<code class="language-sql">IIF(condition, true_result, false_result)</code>
Sebagai contoh, untuk mencari tarikh maksimum antara dua medan (LASTSERVICEDATE
dan [Last CP12 Date]
), anda akan menggunakan:
<code class="language-sql">IIF(dbo_tbl_property.LASTSERVICEDATE > Contour_dates.[Last CP12 Date], dbo_tbl_property.LASTSERVICEDATE, Contour_dates.[Last CP12 Date])</code>
Ini mengembalikan LASTSERVICEDATE
jika lebih besar; jika tidak, ia kembali [Last CP12 Date]
.
Untuk senario yang lebih kompleks, fungsi Switch()
menawarkan pendekatan berbilang syarat:
<code class="language-sql">Switch( expr1, value1, expr2, value2, ..., exprN, valueN )</code>
Setiap expr
dinilai secara berurutan. Jika expr
adalah benar, value
yang sepadan akan dikembalikan. Yang penting, Access menilai semua ungkapan, walaupun selepas padanan ditemui. Berhati-hati terhadap kemungkinan ralat atau tingkah laku yang tidak dijangka disebabkan oleh ciri ini.
Ingat untuk menyesuaikan contoh ini dengan nama medan dan jadual khusus anda. Untuk mencari tarikh maksimum merentas berbilang lajur atau baris, teknik SQL yang lebih maju seperti MAX()
dalam subkueri atau fungsi agregat mungkin diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Tarikh Maksimum dalam Akses Tanpa Penyata KES?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!