怎样将C#时间插入MySQL数据库中,DateTime时间的毫秒部分变为000?

例子
C#
获取当前时间 string nowTime = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.fff");
假设 nowTime = "2020/03/26 14:09:12.123"
我把 nowTime 这个时间保存到MySQL数据库中。
查看数据库中的数据时 该数据变为:"2020/03/26 14:09:12.000"
数据库中该字段格式为 datetime(3) 
怎样才能让它不改变?

在MySQL中使用 now(3)函数  能保存为“2020/03/26 14:09:12.123”。
求各位指导,谢谢!

你是如何将string保存到mysql的datetime(3)的?
当中的转换过程,是不是出了问题。

没有进行转换, 资源下载是直接把这个string 类型的时间 作为输入参数,然后调用存储过程。
没有报错。 数据库中 datetime(3)  自动转换直接把时间的毫秒数置0.

存储过程里,接收到输入的参数时,这个时间还是带有毫秒的吗?

我怀疑是datetime精度问题,你查下

正常如果你插入这个值肯定没问题,把你最终的sql语句打印出来看看

谢谢各位,问题解决了。
是输入参数 的精度问题, 
原 输入参数类型 为 datetime 而不是 datetime(3).
改为 datetime(3)后 问题解决.
感谢各位的指导

发布了122 篇原创文章 · 获赞 2 · 访问量 5216

猜你喜欢

转载自blog.csdn.net/liuji0517/article/details/105428254