我试图在 Sql Server 2008 中将日期转换为 mm/dd/yy 格式,但转换后我只得到格式化的日期,但在我的数据库中还有时间。我的数据库值是:
2003-02-28 17:22:43.000
2003-02-28 17:22:43.000
2003-02-28 17:24:26.000
2003-02-28 17:24:26.000
2003-03-24 09:45:25.000
2003-03-24 09:45:25.000
2003-03-24 09:46:36.000
2003-03-24 09:46:36.000
2006-07-20 12:47:31.070
2003-03-27 15:44:53.000
2003-03-27 15:44:53.000
2003-03-27 15:51:56.000
2003-03-27 15:51:56.000
2003-03-27 16:05:03.000
我对转换日期格式的查询是
SELECT CONVERT(VARCHAR(20), StatusDate, 101) AS Post_Converted,StatusDesc, RowVersionInitials from PurchaseOrderStatusHistory
我的输出是
05/29/2014
05/29/2014
05/29/2014
05/29/2014
日期已成功格式化,但缺少“时间”。请建议我如何获得数据库时间。
最佳答案
出于某种原因,SQL Server 不提供带时间组件的 mm/dd/yyyy。我建议您使用格式 120——ISO 标准格式——但您是专门为此要求的。
您可以将值连接在一起:
SELECT CONVERT(VARCHAR(20), StatusDate, 101) + ' ' + CONVERT(VARCHAR(20), StatusDate, 108) AS Post_Converted,
StatusDesc, RowVersionInitials
FROM PurchaseOrderStatusHistory;
您可能需要 114 而不是 108:
SELECT CONVERT(VARCHAR(20), StatusDate, 101) + ' ' + CONVERT(VARCHAR(8), StatusDate, 114) AS Post_Converted,
StatusDesc, RowVersionInitials
FROM PurchaseOrderStatusHistory;
这使您可以灵活地添加毫秒数。
关于sql - 转换日期后只得到日期而不是时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48426710/