2

我正在研究一个已经在 PROD 中运行的 SAS 程序。我遇到了一个我似乎无法找到答案的声明。我已经搜索有关 WHERE 表达式的文档,但它似乎并没有解决我在下面看到的问题:

start_date eq .

start_date使用时与什么比较.

编辑:我还搜索了有关日期时间函数的文档,但也没有解决它。

4

2 回答 2

6

对于大多数情况,一种更好的表示方法是使用以下missing函数:

where missing(startdate);

SAS 不仅有多个缺失值(.A .B....Z ._以及.),而且当然还有字符缺失(' '或任意数量的空格)。 startdate eq .只拿起一个案例。在 99% 的情况下,这是相同的,但缺少的功能不仅更清晰,而且覆盖了额外的 1%(以及同样适用于字符值)。

于 2013-07-08T21:07:47.997 回答
5

.表示缺失或“空”的数值。回想一下,日期只是计算自 1960 年 1 月 1 日以来的天数的漂亮数值。

基本上,您的子句似乎WHERE正在过滤未定义 start_date 的记录。

请参阅表示缺失值

于 2013-07-08T20:19:59.633 回答