我想从SQL Server中找到一些只按当前日期查询的数据。目的是仅查看今天的交易
这是我的代码
SELECT * FROM dbo.Student.studentProfile
WHERE TransactionDate = curdate()
RESULT
Curdate不是一个独立的内置函数名称
答案 0 :(得分:4)
如果您正在寻找当前日期:
WHERE TransactionDate = cast(getdate() as date)
或者如果您更喜欢ANSI标准:
WHERE TransactionDate = cast(CURRENT_TIMESTAMP as date)
答案 1 :(得分:2)
不同的sql实现(即SQL Server,Mysql,postgresql等)可以支持不同的方法。对于SQL Server,您要使用的方法是GETDATE()而不是CURDATE()
此方法的文档位于:https://msdn.microsoft.com/en-us/library/ms188383.aspx
答案 2 :(得分:0)
试试这个。
select * from dbo.Student.studentProfile
WHERE TransactionDate >= dateadd(day,datediff(day,1,GETDATE()),0)
AND TransactionDate < dateadd(day,datediff(day,0,GETDATE()),0)