只选择特定日期oracle sql

时间:2014-05-14 18:31:58

标签: sql oracle

我有一个像

这样的示例查询
  select cu.customer_no
  from customers.cu 
  where cu.audit_date like '01-FEB-14'

问题是我想只检索本月第一天的特定日期的数据,并在两者之间跳过所有日期。所需的查询应该类似于

  select cu.customer_no
  from customers.cu 
  where cu.audit_date like ('01-FEB-14', '01-JAN-14', '01-MAY-14')

2 个答案:

答案 0 :(得分:0)

    select cu.customer_no
    from customers.cu 
    where cu.audit_date 
    in  (select distinct trunc(audit_date ,'MM') from customers);

答案 1 :(得分:0)

假设audit_datedate,而不是varchar2,如果您确定时间组件始终是午夜,则可以

WHERE cu.audit_date = trunc(cu.audit_date, 'MM')

如果可能存在非午夜时间组件并且您想忽略时间组件,则可以执行

WHERE trunc(cu.audit_date) = trunc(cu.audit_date, 'MM')

或者,您可以使用to_char

WHERE to_number( to_char( cu.audit_date, 'DD' ) ) = 1