问题标签 [datetime2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
153 浏览

sql - 从 Ms SQL Server 2008 中的三个字段创建 datetime2

我有一张包含超过 13,8k 行的巨大表格。它的布局类似于,

)

清除日期部分的新表将具有这样的布局,以及其他不重要的字段。

然后我做了一个光标,在我执行它之前我关闭了

光标看起来像这样,但有趣的是我将三个字段解析为一个新的 datetime2。

我部分工作,但有一些边缘情况会失败,例如,如果 dd = 00、mm = 00 和 yyyy = 0000。还有很多特殊情况,比如设置了年份,但设置了月份和日期,并且我的计划是将年份设置为 0000。此外,在某些情况下,所有三个字段都为空。还有能提供一些好的建议的人吗?

0 投票
2 回答
9234 浏览

sql-server-2008 - datetime2 是否有类似 isdate() 的函数?

我知道有一个调用ISDATE来验证DATETIME列的函数,但它仅适用于SMALLDATETIMEandDATETIME类型。

是否有类似的方法来验证DATETIME2SQL Server 2008 和 2012 中的新数据类型?

0 投票
1 回答
1177 浏览

entity-framework - DateTime2 让我发疯

DateTime我在我的项目 .NET 中使用 EF 4(模型优先)并且我在这些领域遇到了困难。

当我将使用SaveChanges()此异常时抛出:

System.Data.SqlClient.SqlException :将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。

我尝试使用:

但没有新的事情发生。如果我今晚不修理它,我会炸毁我的电脑。

我需要帮助,我不想炸毁我的电脑 =( 1 周尝试解决但没有成功

这是我的代码:

我知道,这里有很多这样的问题,但没有一个能解决我的问题。

我想在 TextBox 中插入这样的日期:09/08/2012

0 投票
0 回答
139 浏览

sql-server-2008 - 使用 EF 更新行时出现 DateTime 错误

我有一种方法可以从数据库中的表中获取现有行并更新其中的一些值,然后保存这些更改。question 中的表有以下几列:

表中的列

进行更新的代码在这里:

问题是该行DataContext.SaveChanges();导致异常,其内部异常说:

这是调用上述代码的地方

0 投票
2 回答
1499 浏览

entity-framework-4 - 允许 Entity Framework 4.5 将 datetime2 与 SQL Server CE4 一起使用

我正在使用 SQL Server 2008 开发实体框架项目。我们最近更改为datetime2对很多日期使用字段类型,因为我们需要精度。

这适用于我们的实时和开发数据库,​​但作为我们端到端测试的一部分,我们一直在使用不支持该datetime2类型的 SQL Server CE 4.0。当 Entity Framework 尝试构建数据库时,它会返回一系列异常,如下所示:

显然,为了测试目的而更改我们的生产代码没有任何价值,那么有没有办法告诉它将datetime2值转换为常规值datetime或将它们转换为varchar?

测试的目的是确保从数据层到接口的所有内容都按预期工作,因此如果有更好的方法来实现这种测试,可能会提供有用的替代方案。

0 投票
1 回答
1319 浏览

sql-server - 如何获取特定范围时间戳之间的值

我在 SQL Server 2008 中有一个名为 ,timestamplog which contains one column of name LogTime of typeINTEGER的表

值是这样的:

我需要介于13504686091350468001..之间的值

请告诉我如何查询这些值。

我尝试了以下查询

但是行不来了...

实际上表中的值是存储在表中的时间戳INTEGERTIMELOG

IMP 注意:假设如果像 12,13,14 这样的值进入表,上述查询工作正常。但是当我比较长度为 10 的数字时,查询不会检索任何值

提前致谢

0 投票
0 回答
217 浏览

sql - 开放数据源和日期时间2

我正在使用此技巧将 Access 数据加载到临时表中,而无需指定所有列(SQL Server 2008)。

这在大多数情况下都可以正常工作,只是它将访问日期转换为日期时间字段而不是 datetime2,这使得这在 1753 年之前不起作用。

是否有任何技巧可以强制使用 datetime2而无需手动指定所有列?

0 投票
1 回答
13104 浏览

sql-server - SQL Server 2008:从 datetime2 获取日期部分

我一直在使用这种非常方便的方法从datetime值中提取日期部分:

这基本上将日期的时间部分清零。它很快,更重要的是它是确定性的——您可以在持久计算列、索引视图等中使用此表达式。

但是,我正在努力想出适用于该datetime2类型的东西。问题是 SQL Server 不允许从整数到datetime2类型的转换。

是否有一种等效的确定性方法从 a 中剥离时间部分datetime2

0 投票
2 回答
12208 浏览

entity-framework - 为什么 EF5 代码在将可为空的日期时间插入数据库时​​首先使用 datetime2?

我将 Cart 对象保存到具有可为空日期时间的数据库中。这是我得到的错误:

将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。

有很多 stackoverflow 帖子记录了对这个问题的修复。但是,当代码首先创建数据库时,它会将字段创建为 DateTime(允许空值)。但由于某种原因,代码首先尝试使用 DateTime2 字段进行插入。

我想知道为什么 EF 以一种方式创建字段,但对同一字段使用不同的类型进行插入。

这是域对象:

该模型:

所以 theOpeningDateUtc和 theClosingDateUtc都是 DateTime? 类型。

这是 EF 代码首先生成数据库的方式: EF 生成表

OpeningDateUtcClosingDateUtc创建为可为空的 DateTime 字段。

那么为什么当我使用 保存时IDBContext.SaveChanges(),为查询生成的 SQL 是:

有趣的部分是@4 datetime2(7),@5 datetime2(7)

我知道我可以通过将 a 添加.HasColumnType("datetime2")到购物车地图来解决此问题,但它没有回答为什么 EF5(可能还有旧版本)将它们设置为可为空的日期时间。

0 投票
1 回答
6408 浏览

delphi - 如何使用 Delphi 7 ADOQuery.ExecSQL 在 SQL Server 上更新 DateTime 保留毫秒?

如何使用 Delphi 7 在 SQL Server 2012 上更新 DateTime 保留毫秒ADOQuery.ExecSQL

DateTime2[7]SQL Server 似乎降低了秒精度,所以我在 SQL Server 2012字段上没有毫秒或微秒。MS Access 不会使用此 ADO 查询减少毫秒数。以下 ADOQuery 代码似乎适用于我关心的所有 DataTypes 除了 SQL Server DateTime

我正在使用的连接字符串是: Provider=SQLNCLI11.1;Integrated Security=SSPI;User ID="";Initial File Name="";Server SPN="";Data Source=myPC\SQLSERVER2012EXP;Initial Catalog=MyDatabase

这是我的代码:

更新

MS Access 和 SQL Server 的修改代码: