我有一个带有列的表格,因为时间戳值会像这样存储“2010-12-18 16:36:26.363”
表名是员工
当记录插入时间值时,我无法找到今天日期的密码记录。
我有什么方法可以写一个查询来查找特定日期的记录。 我可以获得当天的所有记录
任何帮助都会很棒。
感谢
答案 0 :(得分:2)
你可以尝试
SELECT *
FROM <YourTable>
WHERE DATEADD(dd,0, DATEDIFF(dd,0,<TimeStampColum>)) = '01 Jan 2010'
或者类似
SELECT *
FROM <YourTable>
WHERE DATEADD(dd,0, DATEDIFF(dd,0,<TimeStampColum>)) = DATEADD(dd,0, DATEDIFF(dd,0,GETDATE()))
此计算DATEADD(dd,0, DATEDIFF(dd,0,<TimeStampColum>))
将仅返回Date
值的DateTime
部分
答案 1 :(得分:0)
您可以使用此脚本。
@ProccessDay datetime = '2010-12-20'
@ProccessTimeMin datetime,
@ProccessTimeMax datetime,
Set @ProccessTimeMin= DATEADD(s,+1,DATEADD(day , -1, @ProccessDay ))
Set @ProccessTimeMax= DATEADD(s,-1,DATEADD(day , +1, @ProccessDay ))
BEGIN
select * from table where TimeStamp between @ProccessTimeMin and @ProccessTimeMax