采用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
睡个还不睡觉啊
#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
*/
#3
#4
睡个还不睡觉啊
#5
树哥,打错了