Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于从时间戳中减去时间的Oracle SQL查询_Sql_Oracle_Time_Timestamp_Intervals - Fatal编程技术网

用于从时间戳中减去时间的Oracle SQL查询

用于从时间戳中减去时间的Oracle SQL查询,sql,oracle,time,timestamp,intervals,Sql,Oracle,Time,Timestamp,Intervals,我在oracle中构建查询时遇到问题。我有一个列为“DATE\u CREATE”的表,它有一种“TIMESTAMP”类型。一个值的示例是: 2012-10-20 05:43:47:001000 我想构建一个where子句,用于选择create column比15分钟前更新的行。现在我有一个这样的查询(它不返回任何行,但应该返回): 请帮助…尝试以下操作: SELECT DATE_CREATE,ID FROM TABLE WHERE DATE_CREATE >= CURRENT_TIMES

我在oracle中构建查询时遇到问题。我有一个列为“DATE\u CREATE”的表,它有一种“TIMESTAMP”类型。一个值的示例是:

2012-10-20 05:43:47:001000
我想构建一个where子句,用于选择create column比15分钟前更新的行。现在我有一个这样的查询(它不返回任何行,但应该返回):

请帮助…

尝试以下操作:

SELECT DATE_CREATE,ID
FROM TABLE
WHERE DATE_CREATE >= CURRENT_TIMESTAMP - NUMTODSINTERVAL(15, 'MINUTE')

抛出的错误是什么?您真的有一个名为
CREATE
的列吗?这是一个保留字,您需要引用它才能使用它
“CREATE”
。一般来说,您应该避免使用保留字作为对象名称-正是出于这个原因不,我刚刚举了一个例子,它被称为“DATE_CREATE”。这个查询没有抛出错误(很抱歉,我弄错了),这个查询没有显示结果-实际上有-超过100个。。。如果尝试使用自定义日期,则会出现错误,例如:“WHERE DATE_CREATE>='2012-10-20 05:30:00:000000'-然后我得到这个:ORA-01861:literal不匹配格式stringThis-works!非常感谢。但我想知道为什么我的返回零行?区别在哪里?当我无法硬编码会议记录时,我更喜欢这个版本。传递像“15”这样的带引号的数字是痛苦的。
SELECT DATE_CREATE,ID
FROM TABLE
WHERE DATE_CREATE >= CURRENT_TIMESTAMP - NUMTODSINTERVAL(15, 'MINUTE')