每个月取16号的信息,但是如若16号是星期六或是星期日的时候,直接取14号的数据

每个月取16号的信息,但是如果16号是星期六或是星期日的时候,直接取14号的数据
select
trunc(a.settle_date),
to_char(a.settle_date,'D')
from
SICK_SETTLE_MASTER a
where 
to_char(a.settle_date,'yyyy')='2014'
and  to_char(a.settle_date,'mm')='11'
and to_char(a.settle_date,'dd') =(case when ((to_char(a.settle_date,'D')='7'or to_char(a.settle_date,'D')='1' )
and to_char(a.settle_date,'dd')='16')
then 14   else  16 end)
语句如上面:我想达到的效果是,每个月取16号的信息,但是如果16号是星期六或是星期日的时候,直接取14号的数据。但是我这么写的语句,出不来数据。系统里面2014-11-14这天是有数据的。问问各位大神,要怎么修改?每个月取16号的信息,但是如若16号是星期六或是星期日的时候,直接取14号的数据
------解决思路----------------------
最后一个条件,逻辑变成
'dd'既要等于'14'又要等于'16'
这里错了