首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

问个关于数据库中时间的查询,该如何解决

2012-02-12 
问个关于数据库中时间的查询现在数据库中有一表,表中有一列,存放的是时间,如2008-03-24 11:11:11现在我

问个关于数据库中时间的查询
现在数据库中有一表,表中有一列,存放的是时间,如"2008-03-24 11:11:11"
现在我给条件查的时候是给的 select * from test where time="2008-03-24"
也就是说查不出来,但我只要查这一天的,不用那么精确,请问我的查询语句怎么写,最好用模糊查询,而不想把数据库中的时间列在查的时候转换成"年月日"格式的.

[解决办法]

SQL code
create function dbo.getr(@id varchar(10))returns varchar(10)asbegin declare @s varchar(10) set @s = '' select @s = c from tb where b = @id if @s  ='' return '' return dbo.getr(@s)endgoselect a,dbo.getr(max(b)) from tb group by a
[解决办法]
引用楼主 chome 的帖子:
现在数据库中有一表,表中有一列,存放的是时间,如"2008-03-24 11:11:11"
现在我给条件查的时候是给的 select * from test where time="2008-03-24"
也就是说查不出来,但我只要查这一天的,不用那么精确,请问我的查询语句怎么写,最好用模糊查询,而不想把数据库中的时间列在查的时候转换成"年月日"格式的.

[解决办法]
不知道不转换成字符型,直接LIKE行不行
SQL code
select * from test where [time] like "2008-03-24"
[解决办法]
SQL code
select * from test where time >= "2008-03-24" and time < "2008-03-25"
[解决办法]
探讨
不知道不转换成字符型,直接LIKE行不行
SQL codeselect * from test where [time] like "2008-03-24"

[解决办法]
SQL code
select * from test where convert(varchar(10),time,120)='2008-03-24' 

热点排行