Muszę zastąpić listę znaków w ciągu z niektórymi zmapowanymi znakami.Zastępowanie znaków w ciągu znaków na podstawie wierszy w tabeli sql
Mam tabelę "dbo.CharacterMappings" z 2 kolumnami: "CharacterToFilter" i "ReplacementCharacter".
powiedzieć, że istnieją 3 rekordy w tabeli:
Filter Replacement
$ s
@ a
0 o
Jak bym zastąpić wszystkie znaki w łańcuchu filtrów opartych na tych odwzorowań?
tj. "Hell0 c @ t $" musi stać się "Hello cats".
Nie mogę naprawdę wymyślić żadnego sposobu na zrobienie tego bez odwoływania się do zmiennej tabeli, a następnie przechodzenia przez nią. To znaczy. mieć zmienną tabeli z kolumną "count", a następnie użyć pętli, aby wybrać 1 wiersz na raz na podstawie tej kolumny. Następnie mogę użyć funkcji REPLACE, aby zaktualizować znaki po jednym na raz.
Edycja: Powinienem zauważyć, że zawsze chcę rozebrać te postacie (nie muszę się martwić na przykład 5 $ -> s5).
Wow, dzięki. Nie wiedziałem/nigdy nie widziałem REPLACE używanego w ten sposób! – RobH
To działałoby tylko w funkcji lub w procedurze przechowywanej, ale nadal jest całkiem śliskie. – LittleBobbyTables
@LittleBobbyTables z kilkoma średnikami, myślę, że możesz go użyć z dowolnego miejsca? – podiluska