DateTime和DateTime2

1.与ANSI和ISO8601标准的一致性不同

datetime不符合该标准,datetime2符合该标准。对于新的应用,尽量使用符合标准的类型。

2.表示范围的不同

datetime:1753-01-01 00:00:00 到 9999-12-31 23:59:59.997

datetime2:0000-01-01 00:00::00 到 9999-12-31 23:59:59.9999999

3.表示精度的不同

datetime:近似到毫秒到10毫秒之间的.000s,.003s,.007s。(比较特别的近似)

datetime2:近似到100纳秒,也就是一千万分之一秒,0.0000001s。

时间: 2024-08-02 15:14:45

DateTime和DateTime2的相关文章

sql server date,datetime,datetime2 和 time 简单介绍

Sql Server使用 Date表示日期,time表示时间,使用datetime和datetime2表示日期和时间. 1,秒的精度是指使用多少位小数表示1s: DateTime数据类型秒的精度是3,DateTime2和Time可以控制秒的精度, 语法是DateTime2(n)和time(n),n的取值范围是0-7,默认值是7. 2,DateTime数据类型 存储日期和时间,需要8个字节的固定存储空间,默认的数据格式是yyyy-MM-dd hh:mm:ss.xxx,表示从1753年1月1日到99

SQL Server中DateTime与DateTime2的区别

DateTime字段类型对应的时间格式是yyyy-MM-dd HH:mm:ss.fff,3个f,精确到1毫秒(ms),示例2014-12-0317:06:15.433. DateTime2字段类型对应的时间格式是yyyy-MM-dd HH:mm:ss.fffffff,7个f,精确到0.1微秒(μs),示例2014-12-0317:23:19.2880929. 如果用SQL的日期函数进行赋值,DateTime字段类型要用GETDATE(),DateTime2字段类型要用SYSDATETIME().

SQL Server中DateTime与DateTime2的区别是什么

1.DateTime字段类型对应的时间格式是 yyyy-MM-dd HH:mm:ss.fff ,3个f,它的时间精度为1/300秒,在使用时会舍入到舍入到 .000..003 或 .007 秒三个增量,示例 2014-12-03 17:06:15.007. 2.DateTime2字段类型对应的时间格式是 yyyy-MM-dd HH:mm:ss.fffffff ,7个f,精确到0.1微秒(μs),示例 2014-12-03 17:23:19.2880929 . 3.如果用SQL的日期函数进行赋值,

从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值

最近在ASP.NET MVC中遇到一个问题,如题,在使用EF数据模型的时候,要去添加一条新的数据到Sqlserver数据库,在之前项目中并没有出现该异常,所以去扒了扒demo,发现有几个字段(数据库类型为datetime)savechange的时候默认绑定了datetime.now.问题就在这里,我的新项目并没有给定这几个字段的数据.下面总结下: 触发该错误的条件如下: SQL Server数据库版本中的字段类型为datetime2 数据库中,某个要进行Add或者Edit的字段的数据类型为dat

DateTime数据类型保存问题(DateTime2)

DateTime And DateTime2 问题: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值 原因: EF中model存在datetime类型的字段,如果不进行赋值,默认会生成0001-01-01 0:00:00的时间值,这个值属于datetime2类型,存储到数据库会进行报错. 解决方式: 1.将数据库中的所有的datetime类型的字段的数据类型均改为datetiem2 2.将model中的datetime类型修改为datetime? 3.存

SQL Server datetime数据类型设计、优化误区

一.场景 在SQL Server 2005中,有一个表TestDatetime,其中Dates这个字段的数据类型是datetime,如果你看到表的记录如下图所示,你最先想到的是什么呢? (图1:数据列表) 你看到这些数据,是不是觉得这样的设计既浪费了存储空间,又使得这个列的索引增大,查询起来更慢,你也想使用一些其它的数据类型来代替这个datetime吧? 其实大家都是这么想的,这个方向是100%正确的,但是在写这篇文章以前,我进入了两个误区:(如果你中了下面的两个误区,那么请你看看这篇文章吧.)

EntityFramework中出现DateTime2异常的完美解决办法

今天在使用entityframework往数据库插入数据的时候,突然出现了一个数据类型转换异常的问题: System.Data.SqlClient.SqlException: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值. 查了一下网上的资料,很多人给了原因与解决办法: C#中的DateTime类型比SqlServer中的datetime范围大.SqlServer的datetime有效范围是1753年1月1日到9999年12月31日,如果超出这个范围,

解决Entity Framework中DateTime类型字段异常

今天把一个使用了Entity Framework的程序从MySql迁移到SqlServer时,发现运行时报了一个异常: System.Data.SqlClient.SqlException: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值. 在网上查找了一下,具体的错误原因是:C#中的DateTime类型比SqlServer中的datetime范围大.SqlServer的datetime有效范围是1753年1月1日到9999年12月31日,如果超出这个范

常用模块 - datetime模块

一.简介 datetime是Python处理日期和时间的标准库. 1.datetime模块中常用的类: 类名 功能说明 date 日期对象,常用的属性有year, month, day time 时间对象 datetime 日期时间对象,常用的属性有hour, minute, second 2.datetime模块中包含的常量 常量 功能说明 用法 返回值 MAXYEAR 返回能表示的最大年份 datetime.MAXYEAR 9999 MINYEAR 返回能表示的最小年份 datetime.M