您的访问代码
Where Field = Date()
Sql Server的
Where Field = CAST(GETDATE() AS DATE)
功能GETDATE()获取当前日期时间。
今天和过去的7天
Where Field BETWEEN CAST(DATEADD(DAY, -7, GETDATE()) AS DATE)
AND CAST(GETDATE() AS DATE)
之间的日期
我已经使用CAST()
功能的原因是因为GETDATE()
返回当前日期时间是这样的2014-02-09 22:09:53.067
现在如果你正在检查值,其中场有今天的日期,它将只有值where Field = '2014-02-09 22:09:53.067'
不是记录,其中日期2014-02-09
它也将时间考虑在那里因为我使用了CAST函数摆脱GETDATE()函数中的时间部分。
SELECT GETDATE() Returns '2014-02-09 22:09:53.067'
SELECT CAST(GETDATE() AS DATE) Returns '2014-02-09'
我有固定的问题与您的查询有相当多的人:SI建议看书在线学习SQL Server的正确synatx,请参阅固定的查询低于
SELECT TransactionTotals.[Date]
, TransactionTotals.EntryID
, TransactionItems.ItemID
, TransactionItems.ClientID
, [FirstName] + ' ' + [LastName] AS Name
, TransactionItems.[Service]
, TransactionItems.Therapist
, TransactionItems.GiftCertificate
, TransactionItems.Charge
, TransactionItems.Gratuity
, TransactionTotals.Paid
, TransactionItems.Comments
FROM CLIENTS INNER JOIN TransactionItems
ON CLIENTS.ClientID = TransactionItems.ClientID
INNER JOIN TransactionTotals
ON TransactionTotals.EntryID = TransactionItems.EntryID
WHERE TransactionTotals.[Date] = CAST(GETDATE() AS DATE)
ORDER BY TransactionTotals.EntryID DESC;
BETWEEN参数必须从最小到最大列出。 [不是说你应该使用BETWEEN进行范围查询](http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil-have-in- common.aspx)。 –