oracle查询时间段语句

表里面时间是yyyy-mm-dd的,现在要取出1月份的数据,时间date应该怎么写,date>=和date<=吗
2013年1月

第1个回答  2013-03-22
给你个例子
SQL> create table t2 (a date);
Table created.
SQL> insert into t2 values (to_date('2013-01-22','yyyy-mm-dd'));
1 row created.
SQL> select * from t2;
A
---------
22-JAN-13

SQL> insert into t2 values (to_date('2013-02-23','yyyy-mm-dd'));
1 row created.
SQL> select * from t2;
A
---------
22-JAN-13
23-FEB-13

SQL> commit;
Commit complete.
SQL> select * from t2 where to_char(a,'mm')='01';
A
---------
22-JAN-13

这样一月份就取出来了来自:求助得到的回答本回答被提问者和网友采纳
第1个回答  2013-03-22
col_name between to_date('20130101','yyyy-mm-dd') and to_date('20130201','yyyy-mm-dd')
第2个回答  2013-03-22
表里面时间是yyyy-mm-dd的.

难度是 varchar2(10) 数据类型的?

如果是的话。 直接

WHERE
substr ( 表的列名, 6, 2 ) = '01'

下面是一个测试的例子:

SQL> select substr('2012-01-02', 6,2) A from dual;
A
----
01
第3个回答  2013-03-22
select data from tab;
相似回答