0

我正在寻找一种从一个表中获取数据并对其进行操作并使用 SQL 查询将其带到另一个表中的方法。

我有一个名为 NumberStuff 的列,其中包含如下数据:

INC000000315482

我需要切断数字的INC一部分并将其转换为整数并将其存储到另一个表的列中,以便最终看起来像这样:

315482

任何帮助将非常感激!

4

2 回答 2

0

另一种方法是使用替换功能。在TSQL中或作为 SSIS 中的派生列表达式

TSQL

SELECT REPLACE(T.MyColumn, 'INC', '') AS ReplacedINC

SSIS

REPLACE([MyColumn], "INC", "")

这将删除基于字符的数据。然后,在将其存储到目标表或让隐式转换发生之前,它成为转换为数字类型的可选练习。

于 2013-10-05T19:53:27.943 回答
0

您需要的最简单版本。

select cast(right(column,6) as int) from table

您是在 SSIS 语句中执行此操作,还是?...它总是最后 6 个还是?...

这不太依赖于您的格式...删除 0 并且可以是任意长度(将修剪前 3 个字符和前导 0)。

select cast(SUBSTRING('INC000000315482',4,LEN('INC000000315482') - 3) as int)
于 2013-10-04T20:55:54.530 回答