CHill60
Обрезка удаляет пробелы. Вам нужна подстрока текста.
Попробовать это
declare @text varchar(50) = 'AM.JUBAIL.PRE-FINISHING-LINE.PFBSTR.PFBST1'
select reverse(left(reverse(@text), charindex('.',reverse(@text)) - 1))
Вот справочный материал
Слева (Transact-SQL) | Microsoft Docs[
^]
Реверс (Transact-SQL) | Microsoft Docs[
^]
CHARINDEX (Transact-SQL) | Microsoft Docs[
^]
Если вы посмотрите на результаты этих запросов, вам будет легче понять, что происходит ...
select reverse(@text)
select charindex('.',reverse(@text))
select left(reverse(@text), charindex('.',reverse(@text)) - 1)
Результаты...
1TSBFP.RTSBFP.ENIL-GNIHSINIF-ERP.LIABUJ.MA
7
1TSBFP
[EDIT] извинения - это было довольно четко помечено SSRS, и я предоставил SQL-решение. Попробуйте вместо этого сделать следующее (предостережение - непроверенное)
= Mid(Fields!LastEquipment.Value, InstrRev(Fields!LastEquipment.Value, ".") + 1, Length(Fields!LastEquipment.Value))
Member 14053897
Эти запросы не работают, потому что мне нужно использовать их в Построителе отчетов, а не в SQl-запросе. есть ли какой-нибудь способ использовать выражение в построителе отчетов?
CHill60
Это может означать, что поля!Последнее оборудование вышло из сферы применения. Работает ли это, если вы просто используете
=Fields!LastEquipment.Value