2013-10-04 2 views
0

Я ищу способ получить данные из одной таблицы и манипулировать ею и привести ее в другую таблицу с помощью SQL-запроса.Манипулирование данными записи

У меня есть столбец, называемый NumberStuff, который имеет данные, как это в нем:

INC000000315482 

мне нужно, чтобы отрезать INC часть числа и преобразовать его в целое число и сохранить его в колонке в другой таблицу так, чтобы она выглядела так:

315482 

Любая помощь была бы высоко оценена!

+0

Нам потребуется дополнительная информация. Как эти две таблицы соединяются вместе? – Linger

ответ

0

Другой подход заключается в использовании функции Заменить. Либо в TSQL, либо в виде производной колонки Expression в SSIS.

TSQL

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

SSIS

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

Это удаляет символьные данные на основе. Затем он становится необязательным упражнением при преобразовании в числовой тип, прежде чем хранить его в целевой таблице или позволить неявное преобразование произойдет.

+0

Я решил использовать 'REPLACE ([MyColumn]," INC "," ")'. Он работает по большей части, но мне он нужен как целое. Есть идеи? Или вы, возможно, знаете, как добавить другой производный столбец, который является целым числом в столбец, который заменяет INC? например, имеют конечный результат, делая два числа '315482' и' 083113' целыми числами '315482083113'? – scapegoat17

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) 
+0

Это может быть меньше или больше. моя мысль заключается в том, что если я могу просто избавиться от 'INC', он сбросит 0s, которые будут преобразованы в целое число. Я делаю это в SSMS прямо сейчас, но я считаю, что в конечном итоге я перейду в SSIS. Благодаря! – scapegoat17

+0

Подстрока и len сделают ее немного менее зависимой от установленной длины. Отправлено в ответ. – Twelfth

+0

Кажется, что это сработает для этой конкретной записи. Но у меня сотни записей. Есть ли способ, чтобы я мог идентифицировать это через имя столбца, чтобы он менял все из них и помещал измененные данные в другой столбец как целое число? – scapegoat17

Смежные вопросы