SQLServer DateTime类型 秒部分总是为0

时间:2022-01-28 06:18:02
开发语言 C#,
采用SQL Server 2005 数据库

利用存储过程,在向表中添加数据时,发现 一个smalldatetime 字段的秒部分总是0,试过如下几种办法,情况照旧,不知道什么原因,请教各位。

存储过程:

ALTER PROCEDURE procInsertNewRecord
(
@Time smalldatetime
)
AS
INSERT INTO DATA (时间)
VALUES (@Time)
RETURN


代码调用
sqlCommand.Connection = new System.Data.SqlClient.SqlConnection(ConnectionString);
sqlCommand.CommandText = "procInsertNewRecord";
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.Add("@Time", SqlDbType.SmallDateTime).Value = DateTime.Now;
sqlCommand.Connection.Open();
sqlCommand.ExecuteNonQuery();

通过 sqlcmd.exe 执行查询后,显示的结果:
 2012-05-08 15:13: 00
 2012-05-08 15:13: 00
 2012-05-08 23:14: 00
 2012-05-08 23:14: 00
 2012-05-08 23:14: 00

(38 行受影响)
1>
红色的秒部分,不应该是0的。。。

5 个解决方案

#1


把smalldatetime 改为 datetime

#2



smalldatetime 精确度是分钟,你把类型换乘datetime吧


select CAST(GETDATE() as smalldatetime)
/*
2012-05-08 23:44:00
*/
select  GETDATE()
/*
2012-05-08 23:44:05.997
*/

#4


引用 3 楼  的回复:
参考 http://technet.microsoft.com/zh-cn/library/ms182418.aspx


SQLServer DateTime类型 秒部分总是为0睡个还不睡觉啊

#5


引用 4 楼  的回复:
引用 3 楼  的回复:

参考 http://technet.microsoft.com/zh-cn/library/ms182418.aspx


睡个还不睡觉啊


树哥,打错了 SQLServer DateTime类型 秒部分总是为0

#1


把smalldatetime 改为 datetime

#2



smalldatetime 精确度是分钟,你把类型换乘datetime吧


select CAST(GETDATE() as smalldatetime)
/*
2012-05-08 23:44:00
*/
select  GETDATE()
/*
2012-05-08 23:44:05.997
*/

#3


#4


引用 3 楼  的回复:
参考 http://technet.microsoft.com/zh-cn/library/ms182418.aspx


SQLServer DateTime类型 秒部分总是为0睡个还不睡觉啊

#5


引用 4 楼  的回复:
引用 3 楼  的回复:

参考 http://technet.microsoft.com/zh-cn/library/ms182418.aspx


睡个还不睡觉啊


树哥,打错了 SQLServer DateTime类型 秒部分总是为0