日期:2014-05-19  浏览次数:20529 次

请问:在sql语句中如何格式化datetime数据类型
我想写一个句子,用来查询在某一天的数据。  

我用数据库记录的时间都是     datetime数据类型。
而数据值是形如     2007-08-07   20:04:02

而我现在想查询     2007-08-07     即8月7日的数据。


我在页面里得到的日期返回值是     年月日,即   2007-08-07   。

那么我的sql句子应该怎么写呢?  



------解决方案--------------------
select * from 表 where datediff(dd, '2007-08-07 ',date)=0 -- date为你的字段
------解决方案--------------------
将数据库中的datetime型加工一下:
select convert(varchar(10), '2007-08-07 20:04:02 ',121)
------解决方案--------------------

select *
from 表
where DATEPART(m,日期字段)=8
AND DATEPART(d,日期字段)=7
------解决方案--------------------
select * from 表 where convert(varchar(10),日期字段,121)= '2007-08-07 '
------解决方案--------------------
ljsql(第 1 行: '脑子 ' 附近有语法错误。)
这家伙回答的真牛,真是好方法.

select * from 表 where year(日期)=2007 and month(日期)=8 and day(日期)=7

select * from 表 where substring(cast(日期 as varchar(30),1,10)= '2007-08-07 ';