需要在給定的格式轉換日期時間爲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)
需要在給定的格式轉換日期時間爲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)
這將在sqlserver
SQLFiddle工作關於此演示
SELECT convert(varchar, getdate(), 103)
+' '+ CONVERT(varchar(15),CAST(getdate() AS TIME),100)
沒有從此獲得期望的輸出 – user3244104
@ user3244104檢查更新的答案 –
@ user3244104它會顯示確切的輸出,您需要根據您的變量從getdate()更改爲urs datetime ... –
這會從當前日期時間以06/22/15 1:46:07 PM
的格式獲取字符串。
SELECT CONVERT(VARCHAR(50), GETDATE(), 22)
嘗試使用格式
SELECT FORMAT(GETDATE(), 'g')
這將讓6/22/2015 1:57 PM
。
它顯示秒也在操作....我認爲op不需要秒 –
您可以自己使用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中。
你試過了什麼? –
我試過「convert(varchar(20),datetime,103)+''+ convert(varchar(20),datetime,108)+ ''+ right(convert(varchar(30),datetime,109) 2)「 – user3244104
你使用哪個DBMS? – Jens