2

我需要将一些数据从 SAS 导出到 CSV,以便我可以将其移动到 SQL Server 并将其加载到那里。(服务器彼此看不到。)

数据中有一个具有以下定义的字段:

  • 类型 = 数字
  • 长度 = 8
  • 格式 = DATETIME18。

现在我只是想看看一个日期范围内有多少条记录:

proc sql;

SELECT COUNT(*)
FROM BNA_BASE.base_agent_bna_cust_date
WHERE bna_outcome_ts >= '04Jun12:00:00:00'd
  AND bna_outcome_ts <  '11Jun12:00:00:00'd
;

quit;

但我总是得到0,即使我可以在表中看到有与我认为我正在查询的记录相匹配的记录,例如06JUN12:12:42:57.

谁能指出我的愚蠢错误?

4

2 回答 2

5

我应该dt不只是使用d...

WHERE bna_outcome_ts >= '04Jun12:00:00:00'dt
  AND bna_outcome_ts <  '11Jun12:00:00:00'dt
于 2012-06-13T14:46:44.427 回答
3

Dems 答案的替代方法是使用 datepart() 函数,

例如

where datepart(bna_outcome_ts) >= '04jun2012'd
and datepart(bna_outcoume_ts) < '11jun2012'd
于 2012-06-14T10:52:32.970 回答