Datetime 使用查询检索其createdate为特殊日期的记录?

Datetime 使用查询检索其createdate为特殊日期的记录?,datetime,Datetime,我有一个有四列的表。 其中一个名为“CreateDate”,其数据类型为“DateTime” 现在,什么才是真正的T-SQL,它检索的记录的CreateDate就是一个例子 “2010-02-10”如果要选择在特定日期具有CreateDate的所有记录,可以使用以下命令 SELECT * FROM YourTable WHERE DATEADD(dd, DATEDIFF(dd,0,CreateDate), 0) = '2010-02-10' 或 我基于您的查询运行此查询,得到以下结果:选择DA

我有一个有四列的表。 其中一个名为“CreateDate”,其数据类型为“DateTime”

现在,什么才是真正的T-SQL,它检索的记录的CreateDate就是一个例子


“2010-02-10”

如果要选择在特定日期具有CreateDate的所有记录,可以使用以下命令

SELECT *
FROM YourTable
WHERE DATEADD(dd, DATEDIFF(dd,0,CreateDate), 0) = '2010-02-10'


我基于您的查询运行此查询,得到以下结果:选择DATEADD(dd,DATEDIFF(dd,0,CreateDate),0)作为“DateOnly”“2010-02-17 00:00:00.000”,如您所见,它旁边还有时间。您希望将CreateDate显示为2010-02-10还是仅选择在该日期创建的记录?这有点不同。第一个(只有日期:yyyy-mm-dd)
DECLARE @Date DATETIME

SELECT @Date = '01 Feb 2010'

SELECT  *
FROM    YourTable
WHERE   CreateDate >= @Date
AND     CreateDate < @Date + 1
DECLARE @YourTable TABLE(
        CreateDate DATETIME
)

INSERT INTO @YourTable SELECT '01 Feb 2010'
INSERT INTO @YourTable SELECT GETDATE()


SELECT  *,
        CONVERT(VARCHAR(10), CreateDate, 120) DateValue
FROM @YourTable