给定以下SQL查询:
SELECT * FROM TableName WHERE creationDate >= GetDate() -1 AND creationDate < GetDate()
你能告诉我如何得到
的结果吗?报告包含前一天添加的所有用户
这里我想知道在昨天的日期在"creatationdate"列上创建WHERE
子句,例如:
DD:MM:YYYY:12:01:00 (AM)
和DD:MM:YYYY:11:59:00 (PM)
。
我是SQL新手,请帮助我。
如果您想获得前一天的所有记录,您可以使用dateadd
和datediff
函数执行以下操作:
SELECT users
FROM "yourTable"
WHERE Createddate >= dateadd(day,datediff(day,1,GETDATE()),0)
AND Createddate < dateadd(day,datediff(day,0,GETDATE()),0)
如果您有日期范围,您可以使用between
函数:
SELECT users FROM "yourTable"
WHERE Createddate between "yourFirstDate" and "yourSecondDate"
或者你可以这样做:
SELECT users FROM "yourTable"
WHERE Createddate = "yourDate"
更优化的方法:
SELECT
users
FROM
yourTable
WHERE
Createddate >= cast(floor(cast(dateadd(day,-1,getdate())as float))as datetime)
AND
Createddate < cast(ceiling(cast(dateadd(day,-1,getdate())as float))as datetime)