SSIS将NVARCHAR转换为Int

时间:2015-09-10 20:55:36

标签: sql sql-server ssis

我需要一个解决方案来将nvarchar列表转换为int(或数字)。

输入数字的范围是0-10或null,它的空值不是空字符串。

在SSIS上我有一个带有此信息的OLE DB源,然后将其传递到数据转换,其中此字段更改为数字(DT_NUMERIC),目标表设置为接收int但是我总是得到以下错误< / p>

&#34;将列范围转换为列numRange时数据转换失败。由于数据可能丢失,无法转换该值&#34;

我可以忽略这一点,一切似乎都运行良好,但我宁愿处理错误或弄清楚导致它的原因,这个输入数据有什么问题?

1 个答案:

答案 0 :(得分:0)

在派生列组件中创建一个新列,其表达式为:(DT_I4)[Nvarchar列名]。

此外,将错误操作配置为重定向行,以便可以捕获并修复任何失败的转换。

请参阅链接:https://social.msdn.microsoft.com/Forums/en-US/705fa9a1-b7bc-402b-90cd-9ab67a278cff/converting-nvarchar-to-an-int-int-ssis?forum=sqlintegrationservices

https://social.technet.microsoft.com/Forums/sqlserver/en-US/baaecc68-54a2-496c-81a4-4cb4e897a9dc/convert-nvarchar-to-integer-in-sql-server?forum=sqldataaccess