2015-06-22 83 views
1

需要在給定的格式轉換日期時間爲varchar作爲轉換日期時間爲varchar(50)

2015-01-04 16:07:37.000" 

01/04/2015 16:07PM 

幫助這裏就是嘗試:

convert(varchar(20),datetime,103)+ ' '+convert(varchar(20),datetime,108)+ ' ' +right(convert(varchar(30),datetime,109),2) 
+0

你試過了什麼? –

+0

我試過「convert(varchar(20),datetime,103)+''+ convert(varchar(20),datetime,108)+ ''+ right(convert(varchar(30),datetime,109) 2)「 – user3244104

+0

你使用哪個DBMS? – Jens

回答

1

這將在sqlserverSQLFiddle工作關於此演示

SELECT convert(varchar, getdate(), 103) 
+' '+ CONVERT(varchar(15),CAST(getdate() AS TIME),100) 
+0

沒有從此獲得期望的輸出 – user3244104

+0

@ user3244104檢查更新的答案 –

+1

@ user3244104它會顯示確切的輸出,您需要根據您的變量從getdate()更改爲urs datetime ... –

1

這會從當前日期時間以06/22/15 1:46:07 PM的格式獲取字符串。

SELECT CONVERT(VARCHAR(50), GETDATE(), 22) 

嘗試使用格式

SELECT FORMAT(GETDATE(), 'g') 

這將讓6/22/2015 1:57 PM

+1

它顯示秒也在操作....我認爲op不需要秒 –

0

您可以自己使用DATEPART總是構建它... ...

SELECT 
    RIGHT('0' + CONVERT(nvarchar(max), DATEPART(m, Date_Field)), 2) + '/' + 
    RIGHT('0' + CONVERT(nvarchar(max), DATEPART(d, Date_Field)), 2) + '/' + 
    CONVERT(nvarchar(max), DATEPART(yyyy, Date_Field)) + ' ' + 
    RIGHT('0' + CONVERT(nvarchar(max), DATEPART(hour, Date_Field)), 2) + ':' + 
    RIGHT('0' + CONVERT(nvarchar(max), DATEPART(minute, Date_Field)), 2) + 
    RIGHT(CONVERT(VARCHAR(30), Date_Field, 9), 2) 

然後你就可以使用自定義分隔符的日期和時間之間,加秒(或毫秒,等等),因爲你需要。如果您發現需要使用它,請將其包裝在UDF中。

相關問題