Ten samouczek ma na celu pomóc Ci zrozumieć, jak używać funkcji PATINDEX w SQL Server. Ta funkcja pozwala określić pozycję początkową wzorca w danym wyrażeniu wejściowym.
Funkcja Patindex() programu SQL Server
Poniższy fragment kodu definiuje składnię funkcji PATINDEX() w SQL Server:
PATINDEX ( '%wzorzec%' , wyrażenie )
Poniżej omówiono argumenty:
- wzorzec – ten argument definiuje wyrażenie znakowe do wyszukania w wyrażeniu. Ta wartość obsługuje znaki wieloznaczne, takie jak % i _. Funkcja zastosuje symbole wieloznaczne podobnie jak operator LIKE. Możesz podać maksymalnie 8000 znaków.
- wyrażenie – definiuje wyrażenie, w którym szukany jest wzorzec. Może to być wartość dosłowna lub kolumna.
Funkcja zwróci wówczas wartość całkowitą oznaczającą pozycję początkową pierwszego wzorca wystąpień w wyrażeniu. Jeśli wzorzec nie zostanie znaleziony w wyrażeniu, funkcja zwróci 0.
Jeśli którykolwiek z wymaganych argumentów ma wartość NULL, funkcja automatycznie zwróci wartość NULL.
Przykład użycia
Poniższe przykłady ilustrują, jak używać funkcji patindex() w SQL Server.
Przykład 1 – Podstawowe użycie
Poniżej znajduje się demonstracja podstawowego użycia funkcji patindex().
Wybierz patindex ( „% bitów%” , 'https://geekbits.io' ) jak pozycja;Powinno to zwrócić pozycję początkową znalezionego wzorca jako:
poz13
Przykład 2
W poniższym przykładzie używamy funkcji patindex() z wieloma symbolami wieloznacznymi.
Wybierz patindex ( '%g__k%' , 'https://geekbits.io' ) jak pozycja;W takim przypadku funkcja powinna zwrócić:
poz9
Przykład 3 – Użycie funkcji Patindex() ze złożonym wzorcem
Możemy również przekazać złożone wyrażenie regularne jako wzorzec w funkcji patindex, jak pokazano:
Wybierz patindex ( '%[^0-9A-Za-z]%' , 'Witamy w Linuxhint!' ) jak mecz;Wynik:
meczdwadzieścia jeden
Przykład 4 – Użycie funkcji Patindex z kolumną
Załóżmy, że mamy tabelę, jak pokazano poniżej:
Możemy użyć funkcji patindex() do wyszukania pasującego wzorca w kolumnie nazwa_produktu, jak pokazano w poniższym zapytaniu:
Wybierz nazwa_produktu, producent, patindex ( „%2022%” , Nazwa produktu ) miejscez produktów
Powinno to zwrócić pozycję pasującego wzorca, jak pokazano:
Wniosek
W tym samouczku omówiliśmy podstawy pracy z funkcją PATINDEX() w SQL Server.