如日期字段为c_week select * from table where to_char(to_date(c_week,'yyyymmdd'),'day') in ('monday','wednesday','friday'); ('monday','wednesday','friday')可以参考数据库中对星期保存的实际数据格式。
可以用 select to_char(to_date(sysdate,'yyyymmdd'),'day') from dual;检查返回的结果格式,如果是 星期X,则可以将('monday','wednesday','friday') 改为 ('星期一','星期三','星期五') 这个根据数据库实际配置有关.
这样可能好理解点. select to_char(sysdate,'D') - 1 from dual; 外国的星期是从周日开始的原因吧. 我是这样认为的
SELECT * FROM table1 WHERE to_char(col1, 'D') - 1 IN (1, 3, 5)
select case to_char(H2,'dy') when '星期三' then to_char(H2,'dy') when '星期一' then to_char(H2,'dy') end as tt from ht_lysqd where to_char(H2,'dy') in ('星期一','星期三')H2 为 Date
select * from table where to_char(to_date(c_week,'yyyymmdd'),'day') in ('monday','wednesday','friday');
('monday','wednesday','friday')可以参考数据库中对星期保存的实际数据格式。
select to_char(sysdate,'D') - 1 from dual;
外国的星期是从周日开始的原因吧.
我是这样认为的
where to_char(H2,'dy') in ('星期一','星期三')H2 为 Date