将具有不同日期格式的列转换为仅一种格式

Convert Column with Different Date formats into only One format

我有一个包含 3-4 种不同日期格式的列。我怎样才能将其转换为一种格式?

[添加日期]

列中的一些示例
2004-04-19  13:36:52
28.02.2005  09:29:34
01.09.2013  

我正在尝试将其转换为以下格式:2004-04-19 13:36:52
并且不会丢失日期。

日期的格式只是一种表示。您必须使用 DateTime 存储日期,如果您已将日期存储在 varchar 中,您可以:

  1. 更改 table 并为格式正确的日期添加一列
  2. 使用以下 where 条件进行更新:

    date_col like ('____-__-__ __:__:__')
    date_col like ('__.__.____ __:__:__')
    date_col like ('__.__.____')
    

    字符'_'表示类似函数中的任何字符(但只是一个)。

  3. 使用函数 CONVERT 将 VARCHAR 转换为 DATETIME,请参阅:http://www.w3schools.com/sql/func_convert.asp

  4. 将您的日期时间值存储在新列中。