我正在寻找一种从一个表中获取数据并对其进行操作并使用SQL查询将其带到另一个表的方法。
我有一个名为NumberStuff的列,其中包含这样的数据:
INC000000315482
我需要切断数字的INC
部分并将其转换为整数并将其存储到另一个表中的列中,以便最终看起来像这样:
315482
非常感谢任何帮助!
答案 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", "")
这将删除基于字符的数据。然后,在将其存储到目标表或允许隐式转换发生之前,它将成为转换为数字类型的可选练习。