hirdate 字段应该是date类型吧,oracle默认把'2001-2-2','2002-2-2'当作字符串处理了,一个日期类型的字段和字符串类型的字段比较,当然会出错用to_date()转换成时间格式后,hirdate 字段存储的日期可能不仅仅包含年月日,可能还有小时分钟和秒,例如'2001-2-2 18:51:50',建议尝试select * from emp where trunc(hirdate) in(to_date('2001-2-2','yyyy-mm-dd'),to_date('2002-2-2','yyyy-mm-dd'))
看看有没有结果