2015-11-01 14 views
1

我在if語句中調用日期時遇到問題。例如,我的日期是「2001-08-05」。我正在嘗試根據日期來分類我的數據。所以這是我的代碼:在表達式中使用日期作爲常量

If ID = "Yes" and Date > 2001-08-05 then delete; 

但這只是不會做我在問什麼。我沒有得到一個錯誤,但它不執行我所要求的。我試過「2001-08-05」d。以及但這產生了一個錯誤。有沒有特定的方式來閱讀這種格式?

回答

2

在SAS的日期定正確格式爲'ddmmmyyyy'd,所以:

if ID = 'Yes' and Date > '05Aug2001'd 

您可以使用單或者雙引號來分隔不變。常量中的月份名稱不區分大小寫。

另一方面,如果您需要在SAS中執行日期時間常數,則格式爲'ddmmmyyyy:hh:mm:ss'dt。請注意,後綴變爲dt而不僅僅是d,日期和時間之間有分號。

+1

SAS並不關心你是否使用單或雙引號作爲字符串或其他文字封閉引號。事實上,如果您想引用帶引號的字符串中的宏變量或宏函數,則需要使用雙引號字符而不是單引號(撇號)字符。 – Tom

2

或者你可以嘗試隱蔽字符至今

If ID = "Yes" and Date > input('2001-08-05',yymmdd10.) then delete;