【发布时间】:2017-08-15 21:15:39
【问题描述】:
我正在尝试使用以下代码创建一个表。但是,我在将日期减去列之一时遇到了问题(是的,我已经尝试在网站上研究这个问题,但我仍然遇到问题)。
每当我运行此代码时,我都会收到以下错误:“需要 AM/A.M. 或 PM/P.M.”。 “AM”已经包含在内,所以我不确定我哪里出错了。有什么想法吗?
CREATE TABLE FINAL
AS
select
policy_id,
ECY,
TO_DATE(end_dt,'DD-MON-YY HH:MI:SS AM') - TO_DATE(start_dt,'DD-MON-YY HH:MI:SS AM') maxdays,
start_dt,
end_dt,
cancellation_date,
County
from counttable
where (Cancellation_Date is null or Cancellation_Date > &enddate)
and ECY > 0;
提前感谢您的帮助。
【问题讨论】:
-
start_dt和end_dt列是什么数据类型?您的enddate变量定义为什么?您的会话的 NLS_DATE_FORMAT 是什么? (你为什么要在这个时间点创建一个表作为数据的快照;你真的想要一个视图吗? -
AM 不是格式,而是字符串。有一个特殊的关键字来处理 AM 和 PM。
-
你能显示一些数据吗?
-
还有
cancellation_date是什么数据类型,&enddate是否包含引号?