在Oracle中,一个
DATE总有一个时间成分。您的客户端可能显示也可能不显示时间分量,但是当您尝试进行相等比较时,它仍然存在。您还总是希望将日期与日期而不是字符串进行比较,后者使用当前会话
NLS_DATE_FORMAT进行隐式转换,从而使它们相当脆弱。THat将涉及ANSI日期文字或显式
to_date调用
您可以使用该
TRUNC函数将截断
DATE到午夜
SELECt * FROM porder WHERe trunc(odate) = date '2013-10-04'
或者,您可以进行范围比较(如果您可以受益于的索引,这将更加有效
odate)
SELECt * FROM porder WHERe odate >= to_date( '04-Oct-2013', 'DD-Mon-YYYY' ) AND odate < to_date( '05-Oct-2013', 'DD-Mon-YYYY' );



