2012-02-20 101 views
2

如何在一天结束时使用C#插入到SQL表中?插入最后一天的第二天

例子:

2012-03-01 23:59:59 

此字段在我的数据库(SQL SERVER)是SmallDateTime。当我在SQL Management Studio中编辑此字段并将秒数增加到50时,此更改为00:00:00。

+4

这应该也会因* SMALLDATETIME'定义的*任何*第二个粒度而失败,这个粒度将所有内容四舍五入为一分钟。 – 2012-02-20 20:08:18

回答

8

如果您想引用一天中的最后一秒,您需要将您的列从SmallDateTime更改为DateTime,因为SmallDateTime不支持秒。

SmallDateTime

From MSDN:

SMALLDATETIME从1900年1月1日,

日期和时间数据到2079年6月6,精确到分钟。 29.998秒或更低的smalldatetime值向下舍入为最接近的分钟; 29.999秒或更高的值将四舍五入到最接近的分钟。

--returns time as 12:35 
SELECT CAST('2000-05-08 12:35:29.998' AS smalldatetime) 
GO 
--returns time as 12:36 
SELECT CAST('2000-05-08 12:35:29.999' AS smalldatetime) 
GO 
相关问题