mysql - 使用 SQL 选择查询将字符串字段转换为不同格式的日期值
问题描述
我有一个包含 start_date 列的表。不幸的是,该列的数据类型是 VARCHAR。此列中的值为 null 或任何格式的字符串日期。
我需要使用 BCP 命令将此表中的数据提取到 CSV 文件中。但在提取时,start_date 值预计在输出文件中为 YYYYMMDD 格式。
这里的问题是对于某些记录,start_Date 将采用 DD/MM/YYYY 格式,而对于其他一些记录,它可能采用另一种格式。例如:YYYY-MM-DD。
有什么方法可以让我可以将 start_date 值转换为格式 YYYYMMDD ,而不管使用选择查询本身的实际格式如何。
解决方案
希望这可以帮助!!
select
*,
(CASE WHEN [Date] like '%/%' then TRY_CONVERT(datetime,[Date],103)
else [Date] END) as [New_DATE]
from TableName;
推荐阅读
- postgresql - 通过 docker 卷从主机连接到 docker postgres 套接字
- sql - 将单列数据转换为多行
- java - 从一个控制器方法获取会话对象到另一个
- jquery - 如何切换使用滚动(功能)的元素?
- python - Openpyxl 无法读取引用它之前写入的单元格的函数值
- javascript - 需要重新指定实现接口方法的类方法的参数类型?
- vb.net - 运行应用程序时字体只会更改一次
- python - 如何为 Python 中的线程设置异步事件循环?
- python - 如何同步执行操作以进行内存管理?
- sql-server - 没有重复项的 SQL Server 数据