【问题标题】:How to convert datetime format but keep the dates the same in the table in SQL?如何转换日期时间格式但在 SQL 表中保持日期相同?
【发布时间】:2020-01-06 16:12:00
【问题描述】:

假设我在myTable 中有下表:

Name    |Date
------------------------------
A       | 12-23-2019 00:00:00
B       | 12-24-2019 00:00:00
C       | 12-25-2019 00:00:00

日期时间格式为MM-DD-yyyy HH:mm:ss

我知道我可以使用CONVERT(varchar, GETDATE(), 20) 来转换使用当前日期的格式。有没有办法将日期转换为yyyy-MM-dd HH:mm:ss,同时保持日期的值相同?

【问题讨论】:

  • Date 列的数据类型是什么?
  • 您使用的是哪个 dbms? (当涉及到日期/时间时,许多产品远不符合 ANSI SQL。)
  • Date 列的数据类型是varchar
  • 将日期存储为 varchar 会损失很多。如果可能的话,你应该考虑改变你的结构

标签: sql sql-server date datetime


【解决方案1】:

如果您的数据是这样存储的,那么您应该修复数据。我建议:

update t 
    set date = convert(date, [date], 20);

alter table t alter column [date] date;

这会将列更改为真正日期。那么您就不必担心神秘的格式了。

【讨论】:

    【解决方案2】:

    只需使用新格式更新表格或创建视图

    【讨论】:

      猜你喜欢
      • 2021-02-19
      • 1970-01-01
      • 2012-11-26
      • 2021-10-22
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      • 2017-07-15
      • 2021-05-27
      相关资源
      最近更新 更多