Znalezienie i nadpisanie wartości w komórce, która zawiera konkretny znak

0

Dzień dobry,

W tabeli jest 5 kolumn i oraz 88 wierszy. W pierwszej kolumnie jest char(12) i występują w zasadzie losowe znaki np. asdf243*/241 i potrzebuje wyciągnąć tylko te wiersze które zawierają znak * oraz żeby zamiast tekstu był sam znak *. Czyli np. z asdf243*/241 usunąć wszystko i zostawić tylko *. Tak żeby była lista wierszy z samym znakiem gwiazdki. Znalezienie wszystkich wierszy nie jest problemem bo uzyje WHERE nazwakolumny LIKE '%*%'. ale nie potrafię usunąć znaków. Gwiazdka jest w różnych miejscach w tekście w innych wierszach.

Czy znajdzie się dobra duszyczka i pomoże ogarnąć problem?

Pozdrawiam

0
nowazielonka napisał(a):

Dzień dobry,

W tabeli jest 5 kolumn i oraz 88 wierszy. W pierwszej kolumnie jest char(12) i występują w zasadzie losowe znaki np. asdf243*/241 i potrzebuje wyciągnąć tylko te wiersze które zawierają znak * oraz żeby zamiast tekstu był sam znak *. Czyli np. z asdf243*/241 usunąć wszystko i zostawić tylko *. Tak żeby była lista wierszy z samym znakiem gwiazdki. Znalezienie wszystkich wierszy nie jest problemem bo uzyje WHERE nazwakolumny LIKE '%*%'. ale nie potrafię usunąć znaków. Gwiazdka jest w różnych miejscach w tekście w innych wierszach.

Czy znajdzie się dobra duszyczka i pomoże ogarnąć problem?

Pozdrawiam

Dobrą duszyczką na pewno nie jestem, wielu to powie.

Plączesz się w zeznaniach.
Jesli pole ma zawiera TYLKO gwiazdkę to nie LIKE a ='*'

2

to jak ma być sam znak * to zamiast wartości komórki zwracaj po prostu *

0
abrakadaber napisał(a):

to jak ma być sam znak * to zamiast wartości komórki zwracaj po prostu *

no tak tylko jak to zrobic :)

1
Select pole1, pole2, '*' pole3, pole4 from tabela
0
abrakadaber napisał(a):
Select pole1, pole2, '*' pole3, pole4 from tabela

ok dziękuje za pomoc udało się :)

ale chciałbym zapytać jeszcze raz. W kolejnym przypadku mam wyrzucić znak, który jest po znaku " * ". " * " jest w różnych miejscach w innych rzędach i substring nie pomoże a funkcja charindex wyrzuca cyfre umiejscowienia danego znaku w ciągu znaku. Czy mogę prosić o podpowiedź?

0
nowazielonka napisał(a):
abrakadaber napisał(a):
Select pole1, pole2, '*' pole3, pole4 from tabela

ok dziękuje za pomoc udało się :)

ale chciałbym zapytać jeszcze raz. W kolejnym przypadku mam wyrzucić znak, który jest po znaku " * ". " * " jest w różnych miejscach w innych rzędach i substring nie pomoże a funkcja charindex wyrzuca cyfre umiejscowienia danego znaku w ciągu znaku. Czy mogę prosić o podpowiedź?

ok sam ogarnąłem Dziękuję sam sobie za pomoc xD odpowiedzią było użycie jak poniżej:

SELECT SUBSTRING(String, PATINDEX('%_*%',String),1) FROM TABELA1

Jestem zielony co do SQL tak więc proszę o wyrozumiałość :)

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