Oracle SQL中日期字段的IN子句用法

Oracle SQL中日期字段的IN子句用法,sql,oracle,date,where-clause,Sql,Oracle,Date,Where Clause,我需要从一个表中选择这些行,该表的日期列的值与3个不同的值匹配。我可以在子句中使用吗 范例 SELECT * FROM Table_name WHERE Req_Date IN ('2014-01-12','2014-02-14','2014-03-17') 这样行吗?有什么建议吗?是的,只需稍加修改,就可以得到正确的日期文字 SELECT * FROM Table_name WHERE Date(Req_Date) IN (DATE '2014-01-12', DATE '2014-02-1

我需要从一个表中选择这些行,该表的日期列的值与3个不同的值匹配。我可以在子句中使用

范例

SELECT *
FROM Table_name
WHERE Req_Date IN ('2014-01-12','2014-02-14','2014-03-17')

这样行吗?有什么建议吗?

是的,只需稍加修改,就可以得到正确的日期文字

SELECT * FROM Table_name WHERE Date(Req_Date) IN (DATE '2014-01-12', DATE '2014-02-14', DATE '2014-03-17');

有时需要Trunc(Req_Date)将时间元素归零..(如果非零)@OracleUser:good point。我在Teradata中工作,日期数据类型没有timepart。我正在更新答案。
date()
在Oracle中不是函数,而是数据类型。您可能指的是
to_date()
,但仅当列不是
数据
数据类型时才需要。如果是
date
数据类型,则
trunc()
将从日期中删除时间成分,以便该列与您的参数匹配。是的,您即将\u date()。。正如问题所述。。它是一个日期列。