博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DateTime数据类型保存问题(DateTime2)
阅读量:4612 次
发布时间:2019-06-09

本文共 846 字,大约阅读时间需要 2 分钟。

DateTime And DateTime2

问题:

 

原因:

EF中model存在datetime类型的字段,如果不进行赋值,默认会生成0001-01-01 0:00:00的时间值,这个值属于datetime2类型,存储到数据库会进行报错。

 

解决方式:

1.将数据库中的所有的datetime类型的字段的数据类型均改为datetiem2

2.将model中的datetime类型修改为datetime?

3.存储的时候,将datetime类型的值进行赋值操作,=DateTime.Now;

 

 

注释:

DateTime2是从SQL2008开始支持一个新的日期数据类型。

DateTime字段类型对应的时间格式是yyyy-MM-dd HH:mm:ss.fff,3个f,精确到1毫秒(ms),示例2014-12-0317:06:15.433。DateTime支持日期从1753年1月1日到9999年12月31日,时间部分的精确度是3.33,它需要8字节的存储空间。

DateTime2字段类型对应的时间格式是yyyy-MM-dd HH:mm:ss.fffffff,7个f,精确到0.1微秒(μs),示例2014-12-0317:23:19.2880929。DateTime2则支持从0001年01月01日到9999年12月31日,时间部分的精度是100纳秒,占用6到8字节的存储空间,取决于存储的精度。DateTime2(N)表示了秒钟的精度,N=0到7,表示精确到秒钟后的几位数。DateTime(0)表示精确到秒;DateTime2(3)相当于原始的DateTime类型,但是能精确到1,占用7字节;DateTime2(7)则能达到最高的精度,100纳秒。

如果用SQL的日期函数进行赋值,DateTime字段类型要用GETDATE(),DateTime2字段类型要用SYSDATETIME()。

 

转载于:https://www.cnblogs.com/danlis/p/5015399.html

你可能感兴趣的文章
iframe嵌入第三方视频链接自动播放
查看>>
以jar包方式启动
查看>>
contentType
查看>>
IBM简单提问。。。捂脸哭。。神马都不记得了。。。
查看>>
jQuery1.9.1--attr,prop与val方法源码分析
查看>>
javascript实现数据结构与算法系列:功能完整的线性链表
查看>>
gdb调试程序
查看>>
javascript 正则表达式
查看>>
MyBatis_01 框架
查看>>
中文写程序,何陋之有?
查看>>
(10)C#之ADO.NET 数据库中的NULL值的插入与读取
查看>>
字典 dict{}
查看>>
文件修改
查看>>
进阶:python3实现 插入排序
查看>>
IIS出现The specified module could not be found的解决方法
查看>>
【分享】JS图片滑动渐显渐隐插件-附使用方法。
查看>>
互联网产品的商业模式
查看>>
图的邻接表存储
查看>>
2018 leetcode
查看>>
各浏览器对 onbeforeunload 事件的支持与触发条件实现有差异
查看>>