仅将日期插入数据库

时间:2011-09-26 15:17:07

标签: sql sql-server sql-server-2005

我正在尝试仅从2011/09/26 00:00:00保存日期(例如:getdate())。我正在使用sql server 2005。

我的sql查询将是这样的:

Insert into Merchant(startdate) 
values **today's date only**

怎么可能?

4 个答案:

答案 0 :(得分:4)

INSERT INTO Merchant
(startdate) 
VALUES (DATEADD(DAY,0,DATEDIFF(DAY,0,GETDATE())))

答案 1 :(得分:0)

select dateadd(dd,0, datediff(dd,0, GETDATE()))

但是,如果您转到SQL2008,我建议您将列更改为DATE而不是DATETIME。

答案 2 :(得分:0)

您可以尝试这样的事情:

编辑 - 修改后计入中午后的四舍五入。

SELECT CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, GETDATE())))

这是您可以尝试的另一个应用程序:

SELECT CAST(CONVERT(VARCHAR, GETDATE(), 101) AS DATETIME)

答案 3 :(得分:0)

我参加派对有点晚了,但这是我的2美分:

INSERT INTO Merchant
(startdate) 
VALUES (cast(GETDATE() as Date))

当然,这只能在SQL Server 2008中运行。但是,我会留下这个答案,用于学习目的和未来的参考。