我有一个像
这样的示例查询 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')
答案 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_date
是date
,而不是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