2013-05-14 89 views
0
INSERT INTO Restaurants_final (DateField) VALUES ('01/01/2000') 

此查詢不斷返回,轉換datetime時出現字符串轉換失敗。但這種方法多年來一直爲我工作得很好。我究竟做錯了什麼?從字符串轉換日期時間時出錯

DateField設置爲日期時間格式。

+2

作爲一般性評論即適用於所有RDBMS; **從不**依賴隱式字符串到日期的轉換。 _總是使用ANSI文字或明確轉換爲日期。未來的開發者更清楚它是日期列,並且避免了這樣的問題。 – Ben 2013-05-14 11:54:22

回答

0

插入這些日期的語言中立的方式文字,使用格式YYYYMMDD這樣的:

INSERT INTO Restaurants_final (DateField) VALUES ('20000101') 
+0

有沒有辦法在SQL中進行轉換? – Somk 2013-05-14 11:53:58

+0

我的意思是我輸入日期作爲變量。是否有內置的方式將它們轉換爲這種格式? – Somk 2013-05-14 11:55:32

+1

@Max - 抱歉,沒有,但是如果您使用前端應用程序插入這些值(例如C#),則可以使用預準備語句,並使用sqlparamters來處理所有這些格式和轉換內容。 – 2013-05-14 11:57:50

相關問題