2009-11-08 178 views
1

更新列表 設置日期= 「2009-07-21T19:00:40」解析器日期時間

SQL Server不能識別這種格式。有沒有轉換功能

+0

你得到任何錯誤了一槍? – 2009-11-09 05:09:50

回答

0

試試這個:

UPDATE List SET Date = '2009/07/21 19:00:40' 
+0

不用說,你不應該使用保留字來表示對象名稱。 – 2009-11-08 21:47:51

+0

導入數據,無法更改原始格式 – scrippie 2009-11-08 21:50:59

+0

只是用DATEFORMAT COMMAND給出一個鏡頭..它可能工作 – 2009-11-09 05:11:57

1

您可以使用CAST and CONVERT。但是,也許你必須用空格替換'T',然後才能轉換它。 (也有可用的字符串操作函數。)

1

除了雙引號(SQL Server假設爲列分隔符)之外,對我來說工作得很好(SQL Express 2005);那是什麼引發了這個錯誤?感謝您的示例代碼,但是您能否產生實際的錯誤?

換句話說,

DECLARE @list TABLE([日期] DATETIME )

INSERT INTO @list SELECT GETUTCDATE()

UPDATE SET @list日期= 「 2009-07-21T19:00:40「

產生

Msg 207,Level 16,State 1,Line 7 列名無效 '2009-07-21T19:00:40'。

鑑於

DECLARE @list TABLE([日期] DATETIME )

INSERT INTO @list SELECT GETUTCDATE()

UPDATE SET @list日期= 「2009 -07-21T19:00:40'

成功運行。

0

即使工作對我來說太(2005 & 2008)..

DECLARE @tbl TABLE ([date] DATETIME) 
INSERT INTO @tbl SELECT getdate() 
select * from @tbl 

UPDATE @tbl SET Date = '2009-07-21T19:00:40' 
select * from @tbl 

然而,就給人以DATEFORMAT COMMAND

像這樣的事情

**SET DATEFORMAT dmy** 

DECLARE @tbl TABLE ([date] DATETIME) 
INSERT INTO @tbl SELECT getdate() 
select * from @tbl 

UPDATE @tbl SET Date = '2009-07-21T19:00:40' 
select * from @tbl