2017-09-08 32 views
0

我在SQL中有一個類型爲datetime的列。日期爲「2017-09-07 00:00:00.000」。 我想輸出是「9/6/2017 12:00:00 AM」如何顯示特定模式n的日期時間sql

我使用了下面的腳本,但輸出是'9/7/2017'有很大的空間。會有人幫我修改

SELECT 
    STR(DATEPART(MONTH, SDATE)) + '/' + 
    STR(DATEPART(D, SDATE)) + '/' + 
    STR(DATEPART(YYYY, SDATE)) 
FROM 
    t 
WHERE 
    t.id = 1234 
+2

答案可能取決於數據庫引擎功能。你使用的是什麼SQL數據庫引擎? – STLDeveloper

回答

0

如果SQL Server

Select substring(replace('/'+convert(varchar(10),GetDate(),101),'/0','/'),2,10) 

或者使用格式()如果2012+

Select Format(GetDate(),'M/d/yyyy') 

格式()有一些偉大的功能,但它不被稱爲表演者

雙方將如果您正在使用MS SQL服務器返回

9/7/2017 
0

,你可以使用在CONVERT功能的樣式選項。在這裏看到一個參考:https://www.w3schools.com/sql/func_sqlserver_convert.asp

似乎有沒有成爲一個風格相匹配正是你想要的,但你也許可以結合一對夫婦:SELECT CONVERT(varchar,@the_date,101) + ' ' + CONVERT(varchar,@the_date,108)