T-SQL 查询昨天的记录

zhang1struts1yun 2011-01-22 05:15:33
要精确查找,快速
...全文
283 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_ya_ping 2011-01-24
  • 打赏
  • 举报
回复
要不给你那个日期字段价格索引吧,查找起来也快。
gengchenhui 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 jakysuy 的回复:]

引用 18 楼 jakysuy 的回复:
引用 17 楼 wpf363093940 的回复:
jakysuy 小弟弟,你呀,连神人都赶教训,看来你是牛人。


我见过神马,没有见过神人!


话又说回头,再神的马。眼高手低 ,那也是普通马。我估计那哥们是搞培训出身的,只会说教。这也是他和孟子E章的区别---人家有说有炼。这哥们光说不练--假把式。

另外。哥哥不是小弟弟。星星……
[/Quote]
sp是搞软件工程的,是工程管理,项目管理之类的,不会给你写代码的,再说,给你写代码,然后让你直接抄上去,对你也没好处,所谓:授之于鱼不如授之于渔。。。
zhang1struts1yun 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 sp1234 的回复:]
不知道你说的“昨天”是必须由t-sql计算程序运行时的日期,还是由调用这个语句的.net程序传送的日期。无论如何,“昨天”的意思就是大于或者等于(当天日期-2)而小于(当天日期-1),而计算当天日期在t-sql中稍微麻烦一点,需要使用datepart函数取得年月日然后组合成为日期。
[/Quote]
呵呵,今天上来看了一下,还是有好多人关注这个问题的,先谢谢了,
.......

我是用ajax方法查询的,后台SQL取的时间都是 动态 从前台javascript取的服务器时间传值的....
jakysuy 2011-01-23
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 jakysuy 的回复:]
引用 17 楼 wpf363093940 的回复:
jakysuy 小弟弟,你呀,连神人都赶教训,看来你是牛人。


我见过神马,没有见过神人!
[/Quote]

话又说回头,再神的马。眼高手低 ,那也是普通马。我估计那哥们是搞培训出身的,只会说教。这也是他和孟子E章的区别---人家有说有炼。这哥们光说不练--假把式。

另外。哥哥不是小弟弟。星星是比你你少,但是还是有人生感悟的!
jakysuy 2011-01-23
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 wpf363093940 的回复:]
jakysuy 小弟弟,你呀,连神人都赶教训,看来你是牛人。
[/Quote]

我见过神马,没有见过神人!

lovehong123 2011-01-23
  • 打赏
  • 举报
回复
如果你是一张表查询昨天的记录
select * from t where datediff(d,你的时间字段,getdate())=1

如果你是两张表想查询昨天的记录
select a.* from table A inner join (select ID,日期 as 日期 from Table1 where datediff(d,时间字段,getdate())=1) b on a.日期=b.日期 and a.ID=b.ID
liubo8918 2011-01-23
  • 打赏
  • 举报
回复
select * from t where datediff(d,你的时间字段,getdate())=1
panzhige 2011-01-23
  • 打赏
  • 举报
回复
楼上说的都很好啊
俺是来打酱油滴
懦芞 2011-01-22
  • 打赏
  • 举报
回复
jakysuy 小弟弟,你呀,连神人都赶教训,看来你是牛人。
七爷 2011-01-22
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 sp1234 的回复:]
引用 12 楼 jakysuy 的回复:

引用 10 楼 sp1234 的回复:
引用 1 楼 wyq29 的回复:

select * from t where datediff(d,你的时间字段,getdate())=1


不要写出这类代码。这是心中不管不顾索引。


这位大侠,麻烦您以后直接回答人家的问题。不要您老点评。看过N多您老的回复,没有几个直接回答的,您到底……
[/Quote]
牛人谦虚了
jakysuy 2011-01-22
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 sp1234 的回复:]
引用 12 楼 jakysuy 的回复:

引用 10 楼 sp1234 的回复:
引用 1 楼 wyq29 的回复:

select * from t where datediff(d,你的时间字段,getdate())=1


不要写出这类代码。这是心中不管不顾索引。


这位大侠,麻烦您以后直接回答人家的问题。不要您老点评。看过N多您老的回复,没有几个直接回答的,您到底……
[/Quote]

不会就不要凑活啦!怪难过的。会就留真言!
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jakysuy 的回复:]

引用 10 楼 sp1234 的回复:
引用 1 楼 wyq29 的回复:

select * from t where datediff(d,你的时间字段,getdate())=1


不要写出这类代码。这是心中不管不顾索引。


这位大侠,麻烦您以后直接回答人家的问题。不要您老点评。看过N多您老的回复,没有几个直接回答的,您到底会不会啊。
[/Quote]

我不会啊,我是随便瞎说呢。
  • 打赏
  • 举报
回复
嗯,更正一下,“昨天”的意思就是大于或者等于(当天日期-1)而小于(当天日期)
jakysuy 2011-01-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sp1234 的回复:]
引用 1 楼 wyq29 的回复:

select * from t where datediff(d,你的时间字段,getdate())=1


不要写出这类代码。这是心中不管不顾索引。
[/Quote]

这位大侠,麻烦您以后直接回答人家的问题。不要您老点评。看过N多您老的回复,没有几个直接回答的,您到底会不会啊。
  • 打赏
  • 举报
回复
不知道你说的“昨天”是必须由t-sql计算程序运行时的日期,还是由调用这个语句的.net程序传送的日期。无论如何,“昨天”的意思就是大于或者等于(当天日期-2)而小于(当天日期-1),而计算当天日期在t-sql中稍微麻烦一点,需要使用datepart函数取得年月日然后组合成为日期。
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wyq29 的回复:]

select * from t where datediff(d,你的时间字段,getdate())=1
[/Quote]

不要写出这类代码。这是心中不管不顾索引。
zhang1struts1yun 2011-01-22
  • 打赏
  • 举报
回复
参考一下,稍后结贴!
wuyq11 2011-01-22
  • 打赏
  • 举报
回复
select a.* from table a inner join (select 编号,日期 as 日期 from table where datediff(d,时间字段,getdate())=1) b on a.日期=b.日期 and a.编号=b.编号
lixiaoyu928 2011-01-22
  • 打赏
  • 举报
回复
select * from table_name t1 inner join
(SELECT 用户ID FROM table_name WHERE date_column BETWEEN CONVERT(CHAR(10),DATEADD(DD,-1,GETDATE()),20) AND CONVERT(CHAR(10),GETDATE(),20) and 其它条件 group by 用户ID) as t2
on t1.用户ID = t2.用户ID

这样写可以利用上date_column列上的索引,时间精确到千分之3秒。
不知道楼主要求的快速、精确是指到什么程度?
果然如此 2011-01-22
  • 打赏
  • 举报
回复
select 
userID,
(selec top 1 content from tbl_log where userid=l.userid) as c
from tbl_log l where 1=1 and datediff(d,时间字段,getdate())=1
gruop by userID

类似于这样的查询,第二个字段为子查询,所以只能有一条记录,楼主可以参考
加载更多回复(5)

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧