问题标签 [smalldatetime]

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 回答
80 浏览

sql - SQL Server 2008:日期转换问题

我目前正在更新我们的数据库系统,其中日期字段位于 nvarchar (20) 中,但是我已将其更改为 smalldatetime。但这样做时,某些日期会从11/12/2014-------> 12/11/2014

有什么办法可以改变吗?

0 投票
3 回答
834 浏览

java - 如何将“01/30/2018 02:29:23 PM”转换为 smalldatetime 格式?我正在为我的应用程序使用 MSSQL,并且该列是 smalldatetime 格式

我正在尝试将格式为“01/02/2018 02:48:04 PM”的字符串转换为 smalldatetime 格式以插入 MS SQL。

但是我意识到当我执行以下代码时

我得到了一些垃圾价值 2018-01-02T15:58:04

这导致 localDate.getNano() 为 0

0 投票
1 回答
37 浏览

sql - 获取日期范围

我想获取两个给定日期之间的所有信息,如何在 SQL Server 中获取数据类型为“smalldatetime”的日期范围

我希望获得从开始日期到结束日期的所有信息

0 投票
1 回答
84 浏览

java - 使用 PreparedStatement 读取“smalldatetime”列时返回额外的“.0”

我有SQL Server一个列类型的表,smalldatetimePreparedStatement用来读/写表中的数据。例如我的桌子是这样的:

我正在阅读该专栏date

.0在日期结束时得到一个额外的:

为什么会这样?

0 投票
1 回答
66 浏览

sql - 触发日期转换失败

我有一个触发器对不同的表执行 INSERT_AFTER。目标表是要发送到另一家公司的数据的临时表。在我们这边的数据库中,日期是smalldatetime。另一个公司需要这种拆分为日期字段和时间字段。也没有进入临时表。我尝试了几种不同的方法,包括 CAST 和 CONVERT 都没有成功。

相关的SQL如下:

此触发器跟随另一个 INSERT_AFTER 触发器对其他表执行相同的操作。第一个触发器作为“第一个”触发,有问题的触发器作为最后一个触发。

第二个触发器还有另一个字段失败,它是由第一个触发器创建的,作为从另一家公司收到的确认。我不认为这些是相关的,但鉴于我也没有弄清楚,我不能确定。

我需要知道什么可能会失败或我需要更改 SQL 中的什么。我已经放下触发器并重新创建它,但这没有任何帮助,实际上给了我一个我尚未解决的错误。

0 投票
3 回答
56 浏览

sql - T-sql SmallDateTime 添加时间过去的日期 23:30

T-sql SmallDateTime 添加时间过去的日期 23:30

0 投票
0 回答
53 浏览

sql-server - 将 31.12.2099 分配给 DBTimeStamp 类型的 OLE DB 参数在更改为 MSOLEDBSQL 后不起作用

要使用“SQL Server 的 OLE DB 驱动程序”,我将连接字符串中的提供程序从应Provider=SQLOLEDB.1更改Provider=MSOLEDBSQL为 。现在,如果我将日期 31.12.2099 分配给 DBTimeStamp 类型的 OLE DB 参数,则会收到错误“日期格式无效”:

cmd.Parameters.Add("@ValidFrom", OleDbType.DBTimeStamp).Value = new DateTime(2099, 12, 31);

我发现 OleDbType.DBTimeStamp (DBTYPE_DBTIMESTAMP) 映射到 SQL SERVER 数据类型smalldatetime,其范围从 1900-01-01 到 2079-06-06。事实上,如果我将它从 31.12.2099 更改为 06.06.2079,它可以正常工作(另请参阅https://docs.microsoft.com/en-us/answers/questions/175510/oledbtype-dbtimestamp-in-oledbdataadapter-错误-be.html )。

解决方案是使用 OleDbType.DBDate 而不是 OleDbType.DBTimeStamp。但是,如果我也想保持时间呢?所以我的问题是:

  1. 为什么我在更换连接提供商之前没有这个问题?似乎这个范围限制被忽略了。
  2. 我现在应该使用哪种类型来保留日期和时间?只有三种与日期时间相关的 OLE DB 类型:DBDate、DBTime 和 DBTimeStamp。

评论

尝试按照此链接中的说明设置比例不起作用(当 DataTypeCompatility 开启时,如何将 12/30/1899 参数化为 SQL Server 本机客户端?)。

在这种情况下,我收到以下错误:

当我如前所述更改连接字符串时,我遇到了同样的错误。然后我通过添加DataTypeCompatibility=80到连接字符串来解决它,这很好(另见https://social.msdn.microsoft.com/Forums/en-US/1241147c-42a1-40a5-b4c6-374374e462cd/the-fractional-part -of-the-provided-time-value-overflows-the-scale-of-the-corresponding-sql-server?forum=transactsql)。

0 投票
2 回答
37 浏览

sql - select smalldatetime between two strings

#xA;

What am I doing wrong ?

enter image description here

Desired Output: Column InRange should contain YES for two last rows.