【发布时间】:2019-10-03 01:46:29
【问题描述】:
我有一个包含字段 Report_Date 的表。该字段是 bigint 类型。我有另一个具有日期时间类型的 ReportDate 的表。我想合并每个表中的数据,但我希望将 bigint 转换为日期时间。
我尝试了SELECT DATEADD(DD, convert(bigint, Report_Date), Report_date),但收到错误消息:
将表达式转换为数据类型日期时间时出现算术溢出错误。
我也尝试过SELECT DATEADD(DD, convert(bigint, Report_Date), convert(datetime, Report_date)) 得到相同的错误消息结果。
我希望日期时间是2019-02-28 00:00:00.000。
【问题讨论】:
-
表中必须有一些不是有效日期时间值的数据。我们不知道您的 bigint“日期”是什么样的。向我们提供一些示例数据,帮助我们为您提供帮助。
-
每一行都有一个 Report_Date 格式为
yyyymmddone example '20190108' -
如果它是一个 bigint,为什么要将它转换为一个 bigint?当您将 bigint 值转换为日期时间时,您可能想查看返回的日期。提示……这不是你想的那样。您应该先将其转换为 varchar。
-
将其转换为 char(8),然后转换为 datetime。
-
谢谢!我正在查看stackoverflow并试图找到解决方案,因此转换为bigint的原因是我的技能仍在通过编写SQL来发展。
标签: sql-server datetime bigint