Edit Copy Delete 119 anand a f 1957-05-08 5678 s yyyy anand_abc@gmail.com 2014-02-17 11:42:39 1
Edit Copy Delete 120 gangadhar m 1952-02-04 495 c xxxx gang_v@yahoo.com 2014-02-17 12:02:16 3,4
Edit Copy Delete 124 ganesh r m 1991-09-04 9840 s zzzz gan_bab_raj@yahoo.com 2014-02-26 12:45:58 1
Edit Copy Delete 125 manesh a m 1991-02-05 9841 s zzzzz manesh.25@gmail.com 2014-02-26 12:45:5
我想获取今天插入的最后两行详细信息。如何根据当前日期获取数据。
这是我的查询,它没有提供所需的输出..
SELECT *
FROM stud_enq
WHERE date_time = GETDATE()
答案 0 :(得分:1)
您需要考虑date_time
列 时间组件这一事实,GETDATE()
也是如此。假设SQL Server 2008或更高版本:
SELECT *
FROM stud_enq
WHERE date_time >= CONVERT(date,GETDATE()) and
date_time < CONVERT(date,DATEADD(day,1,GETDATE()))
选择具有今天日期的所有值。
对于较旧的SQL Server,您可以使用:
SELECT *
FROM stud_enq
WHERE date_time >= DATEADD(day,DATEDIFF(day,0,GETDATE()),0) and
date_time < DATEADD(day,DATEDIFF(day,0,GETDATE()),1)
DATEADD
/ DATEDIFF
只是删除时间组件的技巧。
答案 1 :(得分:1)
试试这个..
SELECT top 2 *
FROM stud_enq
WHERE convert(varchar(20),date_time,101) = convert(varchar(20),GETDATE(),101)
order by date_time desc
答案 2 :(得分:0)
SELECT TOP 2 * FROM stud_enq WHERE date_time = GETDATE() ORDER BY date_time DESC
答案 3 :(得分:0)
使用此
SELECT *
FROM stud_enq
WHERE date_time >= DATEADD(day,DATEDIFF(day,0,GETDATE()),0) and
date_time < DATEADD(day,DATEDIFF(day,0,GETDATE()),1)
这将涵盖整整一天而不用担心时间部分