我将日期存储在sql server数据库中作为nvarchar但我需要创建一个报告并从该日期的最后一天提取数据。
我在数据类型是DateTime时使用它:
select
count(*) NONGENACC, AFFILIATE,
(SELECT COUNT(ACCOUNTNO) from realdb.tbl_logs)AS ALLACCS
FROM realdb.tbl_logs
where LASTDATE <> CURDATE() group by AFFILIATE
我认为我需要将SELECT *
FROM [table]
WHERE timein >= DateAdd(hh, -24, GETDATE())
转换为字符串以将其与db进行比较
格式必须如下:
GETDATE() -24
有人可以帮我创建一个查询,使用这种日期格式选择过去24小时的记录吗?
答案 0 :(得分:1)
将timeIn字符串转换为日期,并使用日期而不是字符串进行比较。如果用空格替换连字符,它将能够转换为日期。我假设你想要从前一天开始就想要的值(忽略当前时间),所以我也将它转换为日期。
SELECT *
FROM [table]
WHERE cast(replace(timein, '-', ' ') as date) >= cast(DateAdd(dd, -1, GETDATE()) as date)