Sql server MSSQL:Select into:varchar(最大值)至今-无法使其工作

Sql server MSSQL:Select into:varchar(最大值)至今-无法使其工作,sql-server,sql-server-2008,tsql,stored-procedures,Sql Server,Sql Server 2008,Tsql,Stored Procedures,我目前正在进行一个项目,将源表中的遗留数据加载到MSSQL中的目标表中。 由于公司限制,我无法使用SSIS,因此我需要使用t-SQL,最好是在存储过程中使用 我有只包含varcharmax字段的旧表和一个包含所有正确数据类型的目标表 有两个源表包含日期数据,这些数据存储在varcharmax中,需要加载到日期格式字段中。这最好需要通过SQLServer2008中的“选择进入”类型的查询来实现 我所做的是一个简单的查询:插入[SRC].[TargetTable] col1, col2, col3,

我目前正在进行一个项目,将源表中的遗留数据加载到MSSQL中的目标表中。 由于公司限制,我无法使用SSIS,因此我需要使用t-SQL,最好是在存储过程中使用

我有只包含varcharmax字段的旧表和一个包含所有正确数据类型的目标表

有两个源表包含日期数据,这些数据存储在varcharmax中,需要加载到日期格式字段中。这最好需要通过SQLServer2008中的“选择进入”类型的查询来实现

我所做的是一个简单的查询:插入[SRC].[TargetTable] col1, col2, col3, col4, col5, col6, col7, col8, col9, 可乐 选择 地址:, 住址 数字 附加 后代码, 城市 截止日期, 人事, 折扣 客户号 来自[STG]。[oldtable]

谢谢

关闭日期包含mm/dd/yyyy格式的varchar数据

--SET IDENTITY_INSERT Employee ON

 INSERT INTO  DemoDB1.dbo.Employee(MayBeIdentityId,Name,close_date)
 SELECT MayBeIdentityId, 
        Name,
        CONVERT(datetime,close_dateVarColumn)close_date 
 From DemoDB2.Dbo.Employee

--SET IDENTITY_INSERT Employee OFF

注意:这两个数据库应该位于同一台服务器上,并且用户必须具有这两个数据库的访问权限

发布您尝试的一些代码。您遇到了哪些错误?1您没有对现有表使用select into;2显示您在问题中尝试过的代码;3.在你的问题中展示样本数据。您将非常频繁地传输数据。2.毫无疑问,您需要进行大量的数据类型验证。例如,假设一行是无效日期,那么会发生什么?它会跳过该行还是跳过整个事务?最可能的情况是您需要IsDate、IsNumeric等。3.显示您的查询。请发布简单的查询,并解释它以何种方式不起作用。您提供的详细信息越多,您就越有可能得到满意的答案。使用convertdatetime,varcharfield,110varcharfield给了我以下错误:将varchar数据类型转换为datetime数据类型导致值超出范围。感谢Moumit,但我的案例需要varcharmax->DateYea,我知道,但它给了我在我的组织问题中发布的错误。将varchar数据类型转换为datetime数据类型导致值超出范围谢谢@Moumit。但是尝试更新的查询仍然会给我:Msg 242,Level 16,State 3,Line 3将varchar数据类型转换为datetime数据类型导致值超出范围。声明已终止。