使用hh mm ss转换SQl DateTime字段

时间:2014-10-29 12:32:54

标签: sql-server tsql

我将一个datetime字段插入到我的SQL数据库中,格式为2014-10-29 12:05:24.927

我的界面需要显示为29/10/2014 12:05:24

我的tsql语句是:

SELECT Convert(VARCHAR(20), MessageAudit.AuditDate, 120) As AuditDate FROM tableA

哪个,产生yyyy-MM-dd hh:mm:ss怎么样,我可以将这个日期部分格式化为dd / MM / yyyy吗?

4 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

declare @Date datetime
select @Date = cast('20141029 12:05:24.927' as datetime)

select convert(nvarchar(10), @Date, 103) + ' ' + convert(nvarchar(10), @Date, 108)

它会精确地为您提供29/10/2014 12:05:24

答案 1 :(得分:2)

连接两种格式dd / mm / yy& HH:MM:SS 例如

SELECT CONVERT(NVARCHAR(10), GETDATE(), 103) + ' ' + 
       CONVERT(NVARCHAR(10), GETDATE(), 108) AS [Date]

答案 2 :(得分:1)

作为http://msdn.microsoft.com/it-it/library/ms187928.aspx,您必须指定103作为CONVERT()函数的第三个参数。

SELECT Convert(VARCHAR(20), MessageAudit.AuditDate, 103) As AuditDate FROM tableA

答案 3 :(得分:1)

这是sql server中相当广泛的日期格式列表:

http://www.sql-server-helper.com/tips/date-formats.aspx

您可以做的具体问题:

SELECT CONVERT(VARCHAR(20), AuditDate, 103) + ' ' + 
       CONVERT(VARCHAR(20), AuditDate, 108) AS AuditDate
FROM tableA

虽然这会将日期作为字符串/ varchar返回 - 它有自己的一组问题。您最好以日期格式保留日期并在前端格式化日期。这将允许您(取决于日期的显示方式)仍然是"日期"可排序而不是字符串可排序。