【问题标题】:Convert Full Date as String to Date SQL Server将完整日期作为字符串转换为日期 SQL Server
【发布时间】:2021-03-27 11:12:27
【问题描述】:

我有一个表格,其列EPDATAvarchar(25) 字段格式如下。

如何将此格式转换为YYYY-MM-DD

例如2020-12-16

【问题讨论】:

  • 使用 try_convert() 示例:选择 try_convert(date,'Jun 10 2016 12:00AM')
  • 哇,很简单,成功了!!我正在寻找类似的东西,但只找到了 Oracle!请回答我的问题,以便我接受! @JohnCappelletti

标签: sql sql-server date type-conversion


【解决方案1】:

您可以简单地使用 try_conver()。

仅供参考:如果转换失败,try_convert() 将返回 NULL。

示例:

Select try_convert(date,'Jun 10 2016 12:00AM')

退货

2016-06-10

【讨论】:

    【解决方案2】:

    您可以使用此查询转换您想要的方式。

    CASE 
    WHEN SUBSTRING(#date,1,3)='Jan' THEN SUBSTRING(#date,8,11)+'-01-'+SUBSTRING(#date,5,6)
    WHEN SUBSTRING(#date,1,3)='Feb' THEN SUBSTRING(#date,8,11)+'-02-'+SUBSTRING(#date,5,6)
    WHEN SUBSTRING(#date,1,3)='Mar' THEN SUBSTRING(#date,8,11)+'-03-'+SUBSTRING(#date,5,6)
    WHEN SUBSTRING(#date,1,3)='Apr' THEN SUBSTRING(#date,8,11)+'-04-'+SUBSTRING(#date,5,6)
    WHEN SUBSTRING(#date,1,3)='May' THEN SUBSTRING(#date,8,11)+'-05-'+SUBSTRING(#date,5,6)
    WHEN SUBSTRING(#date,1,3)='June'THEN SUBSTRING(#date,8,11)+'-06-'+SUBSTRING(#date,5,6)
    WHEN SUBSTRING(#date,1,3)='July'THEN SUBSTRING(#date,8,11)+'-07-'+SUBSTRING(#date,5,6)
    WHEN SUBSTRING(#date,1,3)='Aug' THEN SUBSTRING(#date,8,11)+'-08-'+SUBSTRING(#date,5,6)
    WHEN SUBSTRING(#date,1,3)='Sep' THEN SUBSTRING(#date,8,11)+'-09-'+SUBSTRING(#date,5,6)
    WHEN SUBSTRING(#date,1,3)='Oct' THEN SUBSTRING(#date,8,11)+'-10-'+SUBSTRING(#date,5,6)
    WHEN SUBSTRING(#date,1,3)='Nov' THEN SUBSTRING(#date,8,11)+'-11-'+SUBSTRING(#date,5,6)
    WHEN SUBSTRING(#date,1,3)='Dec' THEN SUBSTRING(#date,8,11)+'-12-'+SUBSTRING(#date,5,6)
    END
    

    【讨论】:

      【解决方案3】:

      使用格式

      Select FORMAT(COLUMNNAME, 'YYYY-MM-dd')
      

      另外,由 CONVERT

      SELECT CONVERT(varchar, COLUMNNAME, 23)
      

      【讨论】:

        【解决方案4】:

        将其转换为日期数据类型并将其格式化如下:

        SELECT FORMAT(CAST(EPDATE AS DATE) ,'yyyy-MM-dd')
        FROM tablename
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-08-31
          • 1970-01-01
          • 2021-06-26
          相关资源
          最近更新 更多