2014-10-29 63 views
0

我插入時間字段到我的SQL數據庫的2014年10月29日12格式:05:24.927轉換一個SQL DateTime字段與HH毫米SS

我的界面需要顯示此爲10月29日/ 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?

+0

您正在使用哪個sql server版本? – 2014-10-29 12:36:24

+0

[如何將日期時間轉換爲T-SQL中的字符串]可能的重複(http://stackoverflow.com/questions/15029860/how-to-convert-a-datetime-to-string-in-t-sql) – 2014-10-29 12:38:11

+3

爲什麼不在用戶界面上做這個日期格式化,而不是從數據庫中以特定格式返回呢? – Kritner 2014-10-29 12:54:21

回答

1

這裏有一個相當廣泛的日期格式列表在sql se rver:

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 - 它有它自己的一套問題。您最好將日期保留爲日期格式並在前端格式化日期格式。這將允許您(取決於日期的顯示方式)仍然是「日期」可排序而不是字符串排序。

1

作爲http://msdn.microsoft.com/it-it/library/ms187928.aspx,您必須指定103作爲CONVERT()函數的第三個參數。

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

僅供參考這隻會提供日期時間的日期部分,除非我誤解OP要日期部分格式爲dd/mm/yyyy但仍然與時間部分 – Kritner 2014-10-29 13:07:36

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

2

連接兩個格式DD/MM/YY & HH:mm:ss的 如

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