объединить значения в хранимой процедуре SQL - PullRequest
0 голосов
/ 04 августа 2011

У меня есть хранимая процедура в SQL Server 2008, которая копирует определенные значения из одной таблицы в другую, мне нужно взять 3 из значений и превратить их в одно значение во второй (копировать в) таблице.

INSERT INTO copyto (FIELD_ONE, FIELD_TWO, FIELD_THREE, 
            OTHER_DATA1, OTHER_DATA2, OTHER_DATA3, 
            )
SELECT LTRIM(RTRIM(OTHER_DATA1)), LTRIM(RTRIM(OTHER_DATA2)),
       LTRIM(RTRIM(OTHER_DATA3)),LTRIM(RTRIM(FIELD_ONE)),
       LTRIM(RTRIM(FIELD_TWO)), LTRIM(RTRIM(FIELD_THREE))
       FROM copyfrom

В приведенном выше примере (это код, извлеченный из хранимой процедуры) мне нужно объединить поля 1, 2 и 3.

Ответы [ 2 ]

3 голосов
/ 04 августа 2011

Обратите внимание, что объединение полей с '+' не даст результатов, если хотя бы одно из ваших полей окажется пустым. Используйте ISNULL(myfield,'') или COALESCE(myfield,'') в качестве предварительной проверки на каждом

1 голос
/ 04 августа 2011

Вы просто объединяете их, как если бы это было на любом / большинстве других языков программирования:

select LTRIM(RTRIM(FIELD_ONE)) + LTRIM(RTRIM(FIELD_TWO)) + LTRIM(RTRIM(FIELD_THREE))
FROM copyfrom

Это «вернет» один столбец.

...