使用T-SQL散装插入物将错误的数据类型转换为NULL



我正在将访问MDB应用程序转换为使用本地T-SQL数据库的WPF应用程序。

在此应用程序中,它使用docmd.transfertext导入选项卡删除的文本文件,因此我使用的是t-sql bulk insert,如下:

CREATE PROCEDURE [dbo].[sp_insLoans]
@FileLocation nvarchar(500)
AS
DECLARE @sql NVARCHAR(4000) = 'BULK INSERT tblLOAN FROM ''' + @FileLocation + ''' WITH ( FIELDTERMINATOR =''t'', ROWTERMINATOR =''r'' )';
exec(@sql)

然而,无论出于何种原因,有时这些文件在数字列中都有字母。docmd.transfertext函数似乎将其转换为null/blank。

当我进行批量插入时,我可以将此字母转换为该列的null吗?

我同意g mastros。

我会将其放入临时表中,然后运行替换命令以删除字符。

这将带您删除任何非数值字符:https://www.sqlservercentral.com/forums/topic470379-338-1.aspx

欢呼将

最新更新