操纵记录数据

时间:2013-10-04 20:45:53

标签: sql ssis ssms

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

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

INC000000315482

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

315482

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您需要的最简单版本。

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

你是在SSIS声明中这样做的,还是??它总是最后的6或?...

这稍微依赖于你的格式...删除0&s;并且可以是任意长度(将修剪前3个字符和前导0')。

select cast(SUBSTRING('INC000000315482',4,LEN('INC000000315482') - 3) as int)

答案 1 :(得分:0)

另一种方法是使用Replace函数。在TSQL中或在SSIS中作为派生列Expression

TSQL

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

SSIS

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

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