我正在使用SQL Server 2008 R2,并且我选择了使用“脚本数据为”将表中的数据导出到SQL INSERT脚本中的选项 - > '使用列名插入'。这导致了类似于以下内容的脚本:
INSERT INTO [MyTable] ([Id],[InsertDateTime],[Firstname],[Email]) VALUES (1, '26/06/2012 2:02:25 p.m.', 'Robert', 'robert@test.com');
INSERT INTO [MyTable] ([Id],[InsertDateTime],[Firstname],[Email]) VALUES (2, '28/06/2012 4:17:21 a.m.', 'David', 'david@test.com');
如果我然后立即尝试在表的空版本上运行此生成的脚本,则会出现以下错误:
Conversion failed when converting date and/or time from character string.
2个问题:
谢谢!
答案 0 :(得分:0)
首先使用set dateformat设置正确的日期部件顺序。在你的情况下“dmy”。然后替换所有“a.m.”在所有陈述中将“AM”和“p.m”改为“PM”。以下脚本工作正常:
set dateformat dmy
INSERT INTO [MyTable] ([Id],[InsertDateTime],[Firstname],[Email])
VALUES (1, '26/06/2012 2:02:25 PM', 'Robert', 'robert@test.com');
INSERT INTO [MyTable] ([Id],[InsertDateTime],[Firstname],[Email])
VALUES (2, '28/06/2012 4:17:21 AM', 'David', 'david@test.com');