Czy jest funkcja w postgres takich jak contains
? który może być użyty w where clause
do sprawdzenia, czy przekazany ciąg jest zawarty w kolumnie?Postgresql Zawiera w gdzie klauzula
9
A
Odpowiedz
7
Istnieje kilka sposobów rozwiązania tego:
Zastosowanie
like
,ilike
i/lubSIMILAR TO
wraz z ||. Aby obsłużyć kolumny, coś jak:WHERE col1 ilike '%' || col2 || '%';
Wykorzystanie pozycji jak NPE za odpowiedź
Można również użyć
regexp_matches
ale to jest bardziej skomplikowane.
16
Do tego można użyć position()
. Zwraca zero gdy podciąg nie zostanie znaleziony:
position(col2 in col1) <> 0
Masz na myśli 'LIKE '% abc%'' w SQL Server? – hims056
tak. Zdaję sobie sprawę z tego, że używam i tak. Ale tylko tekst statyczny może zostać przekazany jako like/ilike. muszę użyć czegoś takiego jak col1 ilike% col2%. Gdzie col1 i col2 są wartościami kolumn. –