我试图从数据库中获取当前日期的记录,这里是我试过从表中获取记录的查询:
SELECT *
FROM Transactions
WHERE transaction_date = GETDATE();
答案 0 :(得分:2)
您可以删除/重设时间到00:00,这样就可以进行今天的比较。
select DATEADD(dd, DATEDIFF(dd, 0, getdate()), 0)
您可以使用今天的日期开始和结束来定义变量:
declare @TodayStart datetime = getdate()
declare @TodayEnd datetime = getdate()
set @TodayStart = DATEADD(dd, DATEDIFF(dd, 0, getdate()), 0) -- example: 2017-08-20 00:00:00.000
set @TodayEnd = DATEADD(ss, -1, DATEADD(dd, 1, @TodayStart)) -- example: 2017-08-20 23:59:59.000
因此,您在今天日期范围内获取所有交易的查询将变为:
Select *from Transactions
WHERE transaction_date between @TodayStart AND @TodayEnd
答案 1 :(得分:2)
只需比较日期部分
Select *from Transactions
WHERE
CONVERT(char(10), transaction_date ,126)=CONVERT(char(10), getdate(),126);
答案 2 :(得分:1)
将日期存储在变量中并在查询中将其CONCAT
见下文:
var currentDate = DateTime.Now.ToString("yyyy-MM-dd");
query = "select * from table where Date = " + currentDate;
答案 3 :(得分:1)
这是当前日期,因此具有将来日期的记录不存在。您只需要获得大于今天00:00:00
的所有交易即可。
SELECT * FROM `Transactions` WHERE transaction_date >= CURRENT_DATE+" 00:00:00";