日期:2014-05-20  浏览次数:20644 次

求一条关于日期的SQL语句
我现在数据库中有个字段是日期行的,“2008-3-11”
但是我页面上只能取年和月,就是2008,3,我想把2008年3月的都查出来,应该怎样写呀, 不是在加两个字段吧

------解决方案--------------------
千万不要拆分,得不偿失的

对于不同的数据库有不同的方法

DB2:
select * from Table where year(timestamp) = 2008 and month(timestamp) = 3
------解决方案--------------------
楼上的可以,还有一个方法,需要你在调用前计算好2个日期
where date bewteen '2008-03-01 00:00:00' and '2008-03-31 23:59:59'

其实这个写法也可以,如果用
PreparedStatement.setDate() 方法就更好了!
------解决方案--------------------
setDate是有问题的,'2008-03-31 00:00:01'到'2008-03-31 23:59:59'之间的取不到
------解决方案--------------------
不知道你的页面是用的什么技术,如果是struts,不是很好解决吗?
 <bean:write name="" property="" format="yyyy-MM"/>
------解决方案--------------------
理解错了setDate的话用'2008-03-01 00:00:00'和'2008-04-01 00:00:00'。
还是to_char(col,'YYYYMM') = '200803'这样简单啊
------解决方案--------------------
select * from table1 where year(sj)=2008 and month(sj)=3