我遇到了 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 Profiler ,可以看到正在执行的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 :(得分: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'