表 tb1
时间字段: a_date(格式:年月日)
输入的年月: s_date(格式:年月)
下面俩方法貌似都不行、需要怎么改或者有其他方法也行SELECT * FROM tb1 t
WHERE to_char( t.a_date,'yyyymm') = to_char(s_date,'yyyymm')select * from tb1 t
where DATEPART(yy,t.a_date) = DATEPART(yy,s_date)
and DATEPART(mm,t.a_date) = DATEPART(mm,s_date)
时间字段: a_date(格式:年月日)
输入的年月: s_date(格式:年月)
下面俩方法貌似都不行、需要怎么改或者有其他方法也行SELECT * FROM tb1 t
WHERE to_char( t.a_date,'yyyymm') = to_char(s_date,'yyyymm')select * from tb1 t
where DATEPART(yy,t.a_date) = DATEPART(yy,s_date)
and DATEPART(mm,t.a_date) = DATEPART(mm,s_date)
SELECT * FROM tb1 t
WHERE t.a_date >= to_date('2011-06-01','YYYY-MM-DD')
AND t.a_date < to_date('2011-07-01','YYYY-MM-DD')
-------------------
2011-06-01 00:00:00
SELECT * FROM tb1 t where
to_date( t.a_date,'yyyy-mm-dd') >= to_date('2011-07', 'yyyy-mm') and
to_date( t.a_date,'yyyy-mm-dd') < add_months(to_date('2011-07', 'yyyy-mm'),1)
你为什么表的日期字段要用字符串类型呢,而不直接用日期类型呢?
-- 请看:
http://topic.csdn.net/u/20110323/13/43a9766c-9a40-470d-8adb-9c2594282203.html
WHERE to_char( t.a_date,'yyyymm') = to_char(s_date,'yyyymm')这种方式是可以的
比如 表a里的字段create_time是dateselect *
from tab1 a
where to_char(a.create_time, 'yyyymm') = to_char(to_date('201106','yyyymm'),'yyyymm')