首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Server 2014中执行数据包含脚本时出现问题

在Server 2014中执行数据包含脚本时出现问题
EN

Stack Overflow用户
提问于 2019-10-29 19:19:03
回答 1查看 65关注 0票数 0

微软Server 2014 - 12.0.2269.0 (X64) 2015年6月10日03:35:45

Windows NT 6.1上的快速版(64位) (Build 7601: Service Pack 1)

语言:葡萄牙语(巴西)

在生成用于向Server 2014添加数据的脚本时,如果表中有类型为datetime的列,则会导致稍后在同一个数据库上运行此脚本时出错。

由“”本身生成的脚本:

代码语言:javascript
复制
USE [BancoTeste]
GO

DELETE FROM [dbo].[Vendas]
GO

SET IDENTITY_INSERT [dbo].[Vendas] ON 
GO

INSERT [dbo].[Vendas] ([Codigo], [Data]) 
VALUES (8, CAST(N'2019-10-29 00:00:00.000' AS DateTime))
GO
INSERT [dbo].[Vendas] ([Codigo], [Data]) 
VALUES (11, CAST(N'2019-10-29 00:00:00.000' AS DateTime))
GO
INSERT [dbo].[Vendas] ([Codigo], [Data]) 
VALUES (12, CAST(N'2019-10-29 00:00:00.000' AS DateTime))
GO
INSERT [dbo].[Vendas] ([Codigo], [Data]) 
VALUES (13, CAST(N'2019-10-29 00:00:00.000' AS DateTime))
GO
INSERT [dbo].[Vendas] ([Codigo], [Data]) 
VALUES (14, CAST(N'2019-10-29 00:00:00.000' AS DateTime))
GO
INSERT [dbo].[Vendas] ([Codigo], [Data]) 
VALUES (15, CAST(N'2019-10-29 00:00:00.000' AS DateTime))
GO

SET IDENTITY_INSERT [dbo].[Vendas] OFF
GO

当试图运行此脚本时,Server将引发以下错误消息:

将nvarchar数据类型转换为日期时间数据类型的

会导致超出范围的值。

如果我将生成的脚本更改为特定于我的区域的格式的日期:

代码语言:javascript
复制
INSERT [dbo].[Vendas] ([Data]) VALUES (CAST('29/10/2019' AS DateTime))

正常工作。让我相信这是一个地区或语言问题。

很奇怪(更不用说滑稽了)!SQL无法处理自己的脚本。

任何小贴士都会受到欢迎。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-07 08:08:37

添加

代码语言:javascript
复制
SET DATEFORMAT ymd

在脚本的开头

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58614064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档