首页 > 解决方案 > 使用 SQL 选择查询将字符串字段转换为不同格式的日期值

问题描述

我有一个包含 start_date 列的表。不幸的是,该列的数据类型是 VARCHAR。此列中的值为 null 或任何格式的字符串日期。

我需要使用 BCP 命令将此表中的数据提取到 CSV 文件中。但在提取时,start_date 值预计在输出文件中为 YYYYMMDD 格式。

这里的问题是对于某些记录,start_Date 将采用 DD/MM/YYYY 格式,而对于其他一些记录,它可能采用另一种格式。例如:YYYY-MM-DD。

有什么方法可以让我可以将 start_date 值转换为格式 YYYYMMDD ,而不管使用选择查询本身的实际格式如何。

标签: mysqlsql

解决方案


希望这可以帮助!!

select
    *,
    (CASE WHEN [Date] like '%/%' then TRY_CONVERT(datetime,[Date],103)
    else [Date] END) as [New_DATE]    
from TableName;

推荐阅读