select * from your_table where (to_number(to_char(your_date_column,'hh24mi')) between 630 and 900) and (your_date_column between to_date('20101001','yyyymmdd') and to_date('20101031','yyyymmdd'))
select * from tb where to_char(时间字段,'YYYY-MM') between '2010-10' and to_char(时间字段,'HH:MI:SS') between '0630' and '0900'
select * from tablename where to_char(col,'yyyymmdd') between 20101001 and 20101031 and to_char(col,'hh24mi') between 630 and 900
楼主看下 to_char 和yyyy-mm-dd hh24:mi:ss分别对应的含义 就会了
BEGIN FOR DATE1 IN 20101001 .. 20101031 LOOP SELECT * FROM TABLE_NAME WHERE COL1 BETWEEN TO_DATE(DATE1||'055959','YYYYMMDDHH24MISS') AND TO_DATE(DATE1||'085959','YYYYMMDDHH24MISS'); END LOOP; END;
BEGIN FOR DATE1 IN 20101001 .. 20101031 LOOP SELECT * FROM TABLE_NAME WHERE COL1 BETWEEN TO_DATE(DATE1||'055959','YYYYMMDDHH24MISS') AND TO_DATE(DATE1||'085959','YYYYMMDDHH24MISS'); END LOOP; END;
datetime 是mssql的 写错了吧 date类型的 (to_char(dt,'yyyy-mm-dd') between '2010-10-01' and '2010-10-31') and to_char(dt,'hh24:mi') between '06:30' and '09:00'
where (to_number(to_char(your_date_column,'hh24mi')) between 630 and 900)
and (your_date_column between to_date('20101001','yyyymmdd') and to_date('20101031','yyyymmdd'))
where to_char(col,'yyyymmdd') between 20101001 and 20101031
and to_char(col,'hh24mi') between 630 and 900
FOR DATE1 IN 20101001 .. 20101031 LOOP
SELECT *
FROM TABLE_NAME
WHERE COL1 BETWEEN TO_DATE(DATE1||'055959','YYYYMMDDHH24MISS') AND TO_DATE(DATE1||'085959','YYYYMMDDHH24MISS');
END LOOP;
END;
FOR DATE1 IN 20101001 .. 20101031 LOOP
SELECT *
FROM TABLE_NAME
WHERE COL1 BETWEEN TO_DATE(DATE1||'055959','YYYYMMDDHH24MISS') AND TO_DATE(DATE1||'085959','YYYYMMDDHH24MISS');
END LOOP;
END;
(to_char(dt,'yyyy-mm-dd') between '2010-10-01' and '2010-10-31')
and to_char(dt,'hh24:mi') between '06:30' and '09:00'