ACTUALCLOSEDATEという日時フィールドがあり、STATUSNUM = 0という対応するフィールドの場合、このフィールドは9999-12-31 00:00:00に等しくなります。STATUSNUMが1に変更された場合(レコードが閉じられた場合)、ACTUALCLOSEDATEの値は次のようになります。現在の日時に変更されました。
私のクエリでは、ACTUALCLOSEDATE = 9999-12-31 00:00:00の場合の値を、日付だけが必要でない場合は「StillOpen」に置き換えたいと思います。
私はエラーで以下のコードを試しました。アイデア?IIFはSQL2008r2で利用できませんか?もしそうなら、私はそれを使うことができますか?
/* This is what I need but it dosen't work in SQL 2008 R2 */
SELECT
IIF (YEAR(ACTUALCLOSEDATE)=9999, "Still Open", ACTUALCLOSEDATE) AS ActCloseDate,
FROM OPPORTUNITY
/* This dosen't work either */
SELECT
CAST YEAR(ACTUALCLOSEDATE)
WHEN 9999 THEN 'Still Open'
ELSE ACTUALCLOSEDATE
END AS Act_Close,
FROM OPPORTUNITY