2013-04-12 4 views
0

У меня есть следующий код, который объединяет ряд текстов в одно поле. Каждое попадание в этот запрос содержит данные, следующие за ^. Я только хочу отображать каждый LEFT из ^, а не сам ^. Это возможно?SQL Server 2008 SELECT Конкатенация и LEFT определенного символа

Вот мой код ...

SELECT Cast(Cast(((SELECT * 
    FROM (SELECT(SELECT cddesc + ' ' AS [text()] 
    FROM costdesc 
     WHERE costdesc.cindex = c.cindex 
     ORDER BY cdline 
     FOR xml path('')) AS cddesc) cddesc)) AS 
    NVARCHAR(max)) AS NTEXT) AS cddesc 

FROM Table 
WHERE Blah blah 

Любая помощь будет принята с благодарностью.

-Nick

ответ

0

Не уверен, что вы имеете в виду каждый cddesc'^something' является или 'something^' ...

Способов удалить первый или последний символы:

select substring('abcdef',2,8000) = 'bcdef'
select substring('abcdef',1,len('abcdef')-1) = 'abcde'

или если он посередине

select substring('ab^cd',CharIndex('^', 'ab^cd')+1,8000) = 'cd'
select substring('ab^cd',1,CharIndex('^', 'ab^cd')-1) = 'ab'

+0

Пример cddesc: Это полное описание сцепляются в одну строку с довольно небольшим количеством деталей.^Вот некоторая информация после моркови, я не хочу, чтобы меня показывали в результатах. – user2208914

+0

обновлен ответ –

0

Так что-то вроде этого?

DECLARE @TestString VARCHAR(100) = 'This is ^a test'; 

-- get everything to the left of^ 
SELECT SUBSTRING(@TestString,1,CHARINDEX('^', @TestString)-1); 

-- get everything to the right of^
SELECT SUBSTRING(@TestString,CHARINDEX('^', @TestString)+1,LEN(@TestSTring)); 

Результирующее в:

This is

a test

+0

Я получаю, как работает SUBSTRING и CHARINDEX в этих превосходных примерах. У меня возникла проблема с тем, где разместить все вокруг моего текущего запроса SELECT CAST (CAST (data)) и т. Д. Etc. – user2208914

+0

Вы можете поместить его в столбец, полный оператор выбора, бросок или что-нибудь еще, возвращающее значение типа строки. Не имея вашей схемы базы данных или точное понимание ваших намерений, сложно дать вам точный ответ. – RThomas

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