4

我遇到了問題OrmLiteDateTimeOffset支持。我在英國,並且認爲它是相關的。ServiceStack在英國的OrmLite和DateTimeOffset支持

我有一個表類型爲DateTimeOffset

我在嘗試時插入的DateTimeOffset列下面的SQL錯誤:

Msg 241, Level 16, State 1, Line 1 
Conversion failed when converting date and/or time from character string. 

我已經運行SQL事件探查器,可以看到正在執行的SQL如下:

INSERT INTO "Table" 
    ("InsertedDateTime") 
VALUES 
    ('23/04/2013 09:30:48 +00:00') 

我敢肯定,這是一個問題dd/mm/yy vs mm/dd/yy。如果我轉換的SQL以下,正常工作:

INSERT INTO "Table" 
    ("InsertedDateTime") 
VALUES 
    ('23-Apr-2013 09:30:48 +00:00') 

我帶來什麼配置不正確或者是有什麼我需要做的就是這才能正常工作?

+0

你有沒有深究過這個?你有沒有在任何地方學過配置​​設置? – Drammy 2015-03-12 16:19:21

+0

不 - 我恐怕沒有。 – gregpakes 2015-03-16 23:33:48

回答

2

你只需要改變默認的日期格式。試試這個 -

SET DATEFORMAT dmy 

DECLARE @temp TABLE (col DATETIMEOFFSET) 

INSERT INTO @temp (col) 
SELECT '23-Apr-2013 09:30:48 +00:00' 

INSERT INTO @temp (col) 
SELECT '2013-04-23 09:30:48 +00:00' 

INSERT INTO @temp (col) 
SELECT '2013/04/23 09:30:48 +00:00' 

INSERT INTO @temp (col) 
SELECT '23/04/2013 09:30:48 +00:00' 
+0

嗨 - 感謝您的評論。我知道你的答案將解決它,但問題在於MicroORM ServiceStack.OrmLite。 – gregpakes 2013-04-23 18:08:57