2014-02-13 122 views
2

可以說我有像繩子下面如何從SQL Server中的字符串插入日期時間

string dt = "2/14/2014 11:59:59 PM"; 

現在我想在SQL Server 2012 我對下面的查詢

INSERT INTO Some_Info(date_colm1,date_colm2) VALUES(CONVERT(datetime, '2/14/2014 11:59:59 PM'),CONVERT(datetime, '2/14/2014 11:59:59 PM')); 
試圖插入此

我越來越像輸出下面

Conversion failed when converting date and/or time from character string. 

似乎是什麼問題?我錯過了什麼?

+0

從哪個來源獲得該數據? –

+0

哪些是你的列的數據類型?我懷疑他們是'date'而不是'datetime'。 –

+0

@HamletHakobyan數據類型是datetime! –

回答

0

使用'yyyy-MM-dd HH:mm:ss'格式即。 '2014-02-13 16:35:45' 當你使用轉換功能,那麼你應該也提供日期格式的數字。例如Convert(smalldatetime,'25/12/2014 15:24',103)。 103是DD/MM/YYYY HH的日期格式:毫米

2

對於SQL Server 2012可以使用格式的語法( 「YYYY-MM-DD HH:MM:SS」)來插入日期時間 參閱this link

FORMAT(值,格式[文化])

FORMAT(@date, 'YYYY-MM-DD HH:MM:SS', 'EN-US')

0

據我所知,SQL-服務器缺乏將自定義格式的日期字符串轉換爲日期時間的功能。它有一些內置的格式,但通常它們不符合你必須處理的格式。所以如果你從一個文件中得到一個像'2/14/2014 11:59:59 PM'這樣的字符串,你必須首先使用字符串操作(特別是子字符串)對其進行修改,然後才能使用內置格式轉換(甚至CAST)就可以了。

以下是CONVERT及其已知格式的鏈接:http://msdn.microsoft.com/de-de/library/ms187928.aspx

相關問題