【问题标题】:Conversion of date data type to datetime resulted to invalid date将日期数据类型转换为日期时间导致日期无效
【发布时间】:2021-07-09 19:10:04
【问题描述】:

我正在尝试使用以下查询将日期值转换为 SQL 中的日期时间,这会导致值无效:

select convert(datetime,date_1, 25) from table1;

date_1(数据类型日期): 2019-12-02

预计 o/p: 2019-12-02 00:00:00.000

实际 o/p: 1905-06-29 00:00:00.000

谁能告诉我将日期转换为日期时间的正确方法?我尝试的方法有什么问题?

【问题讨论】:

  • 检查您的输入值。这对我来说按预期工作。
  • DATE 数据类型的域远远超过 DATETIME。您将需要以某种方式对此进行调整。首先选择 date_1 (nice column name btw)
  • 试试convert(datetime,date_1, 23)

标签: sql sql-server sqldatetime


【解决方案1】:

为我工作:

select cast(date_1 as datetime)

【讨论】:

  • SQL 处理是一些预定义规则的主题,因此它适用于所有人,无论运行语句的人如何。如果您认为这应该可行,请说明原因;如果您有疑问 - 请描述可能取决于哪些标准。
  • 如果我没记错的话,它取决于 SQL Server 语言环境。你可以通过运行来检查你的设置:DBCC USEROPTIONS;
猜你喜欢
  • 1970-01-01
  • 2020-01-05
  • 1970-01-01
  • 2014-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多