Sql-Server
日期時間語法錯誤
我正在 SSMS 中建構一個非常基本的數據庫,其中一個表將保存“睡眠實例”,記錄入睡和醒來的時間。我創建了包含三列的表:ID (int)、StartTime (DateTime)、EndTime (DateTime)。我現在正在嘗試添加第一行:
INSERT INTO SleepInstances VALUES (1, 2022-07-05 22:20:00, 2022-07-06 06:40:00);
我在 StartTime 小時 (22) 收到語法錯誤。據我所知,它的格式正確且與 EndTime 值相同,這沒有給我任何錯誤。
我能找到的關於時間問題的唯一答案似乎與時區有關,我無法想像這是這裡的問題,因為無論我嘗試什麼時間都會遇到錯誤。我對 SQL 很陌生,所以所有這些都基於 W3 Schools 頁面上的日期函式。
您可以在 SQL Server 中將日期時間文字指定為字元串。即,將其括在單引號中。它應該類似於以下內容:
INSERT INTO SleepInstances VALUES (1, '2022-07-05 22:20:00', '2022-07-06 06:40:00');
但是,由於您說數據類型是日期時間,因此您應該使用與語言無關的日期時間格式,如下所示:
INSERT INTO SleepInstances VALUES (1, '2022-07-05T22:20:00', '2022-07-06T06:40:00');
如果數據類型是 datetime2,那麼第一種格式也是語言中立的。我已經在這篇文章中詳細闡述了這一點以及更多內容。