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

根据时间查询数据,该如何处理

2012-04-24 
根据时间查询数据数据库表A有时间字段idstart_timename103 30 20124:37AM1203 30 20128:37PM2303 31 20124

根据时间查询数据
数据库表A有时间字段

  id start_time name
  1 03 30 2012 4:37AM 1
  2 03 30 2012 8:37PM 2
  3 03 31 2012 4:37AM 3
  4 03 31 2012 6:37PM 4
  5 04 01 2012 4:37AM 5
  6 04 01 2012 8:37PM 6
  7 04 01 2012 9:37PM 7

在3月31号凌晨查询出3月30号的数据
在4月1号凌晨查询出3月31号的数据
在4月2号凌晨查询出4月1号的数据

怎么用1条sql语句写出来? 凌晨的时候 我只要执行这语句 就能查询出前一天的数据了

[解决办法]

SQL code
  SELECT * FROM 表A  WHERE CONVERT(VARCHAR(10),DATEADD(DAY,-1,GETDATE()),23) = CONVERT(VARCHAR(10),start_time,23)
[解决办法]
探讨
引用:
SQL code

select * from a where convert(varchar(10),start_time,120)=dateadd(day,-1,convert(varchar(10),getdate(),120))

请问为什么要加上convert(varchar(10),start_time,120)这句话
dateadd(day,-1,……

[解决办法]
SQL code
select [id], [start_time],[name] from tbl where DATEDIFF(DD,convert(varchar(10),[start_time],120),GETDATE())=1--直接这样就好了 

热点排行