BinnyVishwant Ответов: 1

Как получить конкретную строку с помощью выражения ssrs


У меня есть значение параметра 'Europe - DPS Sweden',
мне нужно получить только Швецию, чтобы обеспечить ввод данных для набора данных в ssrs.
Я пробовал с некоторыми выражениями и не смог получить требуемого результата.


Любые советы по этому поводу есть

Что я уже пробовал:

я попробовал на SQL, но не в состоянии достичь в ssrsexpression

LTRIM(REPLACE(SUBSTRING('Europe - DMS Sweden', CHARINDEX('DMS', 'Europe - DMS Sweden'), LEN('Europe - DMS Sweden')), 'DMS', '')) 

ZurdoDev

Единственный способ сделать это-сначала определить правила на английском языке, а затем перевести их на SQL.

1 Ответов

Рейтинг:
5

CHill60

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

Например:

declare @test varchar(255) = 'Europe - DPS Sweden'
SELECT REVERSE(LEFT(REVERSE(@test), iif(charindex(' ', REVERSE(@test)) = 0, LEN(@test), charindex(' ', REVERSE(@test)) - 1)))
Результаты
Sweden

Обратите внимание, что это также работает, если нет пробелов
SET @test = 'nospaces'
SELECT REVERSE(LEFT(REVERSE(@test), iif(charindex(' ', REVERSE(@test)) = 0, LEN(@test), charindex(' ', REVERSE(@test)) - 1)))
Результат
nospaces