2015-04-16 139 views
0

如何在將日期和時間插入到我的MSSQL查詢中時格式化日期和時間?INSERT期間的MSSQL格式日期和時間

我知道這已被問過,但我不知道爲什麼我有這麼多的麻煩理解如何格式化當前日期和時間,當它插入到我的數據庫。

最初以下INSERT查詢工作,但現在我想添加當前的日期和時間與分鐘作爲最後的字符。沒有秒或Millaseconds

INSERT INTO Form_Submission (ID,Submission_Date,Status) 
VALUES ('23', CURRENT_TIMESTAMP, 'Open'); 

我要找的格式是:2015-04-09 13:42

+0

你想要什麼格式的日期是?另外,你是否想把當前的日期? – M3ghana

+0

我試圖實現的格式添加示例, – Denoteone

回答

2

可以使用LEFTCONVERT風格120這樣

INSERT INTO  Form_Submission (ID,Submission_Date,Status) 
VALUES   ('23', CONVERT(DATETIME,LEFT(CONVERT(VARCHAR(40),CURRENT_TIMESTAMP,120),16)), 'Open') 

有關Convert使用的不同款式的更多詳細信息,請參閱here

+0

感謝您的幫助和示例,我將嘗試這樣做。 – Denoteone

0

如果你試圖插入一個DATETIMESMALLDATETIME場,那麼這將工作:

CONVERT(SMALLDATETIME, GETDATE()) 

CONVERT(SMALLDATETIME, CURRENT_TIMESTAMP)如果你想。

所以,你的代碼是:

INSERT INTO  Form_Submission (ID,Submission_Date,Status) 
VALUES   ('23', CONVERT(SMALLDATETIME, GETDATE()), 'Open') 

的一點是,插入數據庫時​​,你不應該日期和時間格式,你應該只格式化他們的出路(顯示時)。 SMALLDATETIME提供您似乎想要的粒度級別(精確到最近的分鐘)。

請參閱MSDN文檔在這裏:GETDATESMALLDATETIME

0

也許你可以使用FORMAT() T-SQL函數:

INSERT INTO  Form_Submission (ID,Submission_Date,Status) 
VALUES   ('23', FORMAT(CURRENT_TIMESTAMP, 'yyyy-MM-dd hh:mm'), 'Open')