数据库列类型更改导致格式问题

Database column type change causes formatting issues

我的数据库中有一个日期和时间列。不幸的是,需要读取数据库的第 3 方软件期望日期和时间字段的类型为 varchar(50)...

当我将数据库中的该字段更改为 varchar(50) 时,所有日期都变成了一种奇怪的格式。

当列的类型为 DateTime 时,日期看起来像这样 2006-08-02 15:13:19.000

当我将该列更改为 varchar(50) 时,日期最终看起来像这样 Aug 2 2006 3:13PM

如何将日期列更改为 varchar(50),但将日期格式保持为 ISO8601

您可以在 SELECT 子句中使用 CONVERT

SELECT CONVERT(VARCHAR(50), getdate(), 121)