funkcja tekstowa usuwająca fragment tekstu

0

Witam,

Mam takiego CASE'a

case
when charindex('{{', substring(zamdostpoz.uwagi,1,8000))<>0
then reverse(substring(reverse(substring(zamdostpoz.uwagi, 1, 8000)), 1 ,charindex('}}',reverse(substring(zamdostpoz.uwagi, 1, 8000)))-1))
else substring(zamdostpoz.uwagi, 1, 8000)
end as uwagi_poz

Działa to tak, że usuwa mi tekst umieszczony w {{ }} ale tylko jeżeli jest on na początku np.
{{test1}} test2 to wypisze test2 i jest ok. Jeżeli sytuacja jest odwrotna tzn. mam test2 {{ test1}} to już nie wyświetla nic a chciałby aby wyświetlił również test2.

Jak sobie z tym poradzić?

0

Jak rozumiem chcesz się ze stringa pozbyć wszystkich elementów znajdujących się między nawiasami {{ }} tak ? Ja w takim wypadku użyłbym zwykłego replace wraz z wyrażeniem regularnym. Poniżej kilka przydanych linków:
https://msdn.microsoft.com/en-us/library/ms174214.aspx
https://www.simple-talk.com/sql/sql-training/regex-based-finding-and-replacing-of-text-in-ssms/
https://www.google.pl/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=mssql+regex+replace
i mój faworyt:
http://weblogs.sqlteam.com/jeffs/archive/2007/04/27/SQL-2005-Regular-Expression-Replace.aspx

1 użytkowników online, w tym zalogowanych: 0, gości: 1