このクエリは、長い時間がかかっているendDateにはnullであるこのステートメントをより速くするには: "paramDateとstartDateとNULLの間"? endDateにはnullのとき
私が使用する必要がありますどのようなSELECT *
FROM HastaKurumlari
WHERE CONVERT(SMALLDATETIME,'21-05-2009',103)
BETWEEN startDate
AND (CASE WHEN endDate IS NULL THEN GETDATE() ELSE endDate END)
は、より速くそれを作るために(私はそのcase文について、case文の前にそれが速かったと思いますか)?
これは、結合関数よりも簡単で、以前よりも簡単です。しかし、有用な機能を併合する。 – uzay95
CoalesceとIsNUllの唯一の違いは、Coalesceが3つ以上の引数を取ることができることです。 Coalesce(null、null、3)は、たとえば3を返します。 – Andomar
@Andomar:正しくはない:セマンティクスはわずかに異なります。 COALESCEは '最も高い'データ型に昇格しますが、ISNULLは最初に見つかったデータ型を使用します。また、標準SQLであるCOALESCEは移植性が高くなります。それについて言えば、私はgetdate()よりもCURRENT_TIMESTAMPを好む。 – onedaywhen