2010-01-13 2 views
1

У меня есть поле varchar в базе данных. Я хочу сделать SQL, чтобы получить значения в этом поле и сделать подобную подстроку в результате. Я хочу только вернуть слова между началом и концом. Например, для значения поля «Нам мало, мы счастливы немногие». Я хочу вернуться только «мы счастливы». Имеет ли SQL Server функцию для этого?SQL Server trim() Вопрос

+0

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

ответ

2

Ваш вопрос немного неясен. Подстрока будет работать для этого конкретного случая. Проверьте this msdn article на список всех строковых функций. Из того, что я могу сказать, вам, вероятно, придется использовать несколько в унисон.

0

Надеется, что это будет ответить на ваш вопрос ...

declare @a as varchar(500) 
set @a='We few, we happy few.' 
print Substring(@a,charindex('we',@a),2) + ' ' + Substring(@a,charindex('happy',@a),5)