【问题标题】:How to convert date format May 25 1921 12:00AM to yyyy-mm-dd如何将日期格式 May 25 1921 12:00AM 转换为 yyyy-mm-dd
【发布时间】:2016-12-15 10:16:30
【问题描述】:

我有一个带有 dob 字段作为 varchar 数据类型的表,我在几条记录上执行了 dateadd 函数。现在我的记录很少 1921 年 5 月 25 日上午 12:00 格式,部分格式为 yyyy-mm-dd。

如何在 varchar 数据类型表中设置所有具有相同日期格式的记录?

谢谢

【问题讨论】:

  • 您应该将日期/时间信息存储在varchar 列中,这是自找麻烦。

标签: sql sql-server sql-server-2012 sql-server-2008-r2


【解决方案1】:

只需进行更新:

update your_table set dob=convert(varchar(25),cast(dob as datetime),120)

这将是临时解决方案,我强烈建议您使用datetime 类型作为日期时间值。否则,你以后会面临很多问题。

【讨论】:

    【解决方案2】:
    alter table MyTable
     add NewDate Date;
    
    update MyTable
    set NewDate = cast(Olddate as date);
    

    【讨论】:

      【解决方案3】:
      Use Below code for convert varchar to date :
      
      SELECT CONVERT(DATE,'May 25 1921 12:00AM',103)
      

      【讨论】:

        【解决方案4】:

        试试这个。

          select convert(varchar(10), cast('May 25 1921 12:00AM' as date),120) 
        

        更新:

           update TableName set dob=convert(varchar(10),cast(dob as datetime),120)
           from TableName
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-06-24
          • 1970-01-01
          • 1970-01-01
          • 2023-03-15
          • 1970-01-01
          • 1970-01-01
          • 2012-12-11
          相关资源
          最近更新 更多