Jedną z przydatnych funkcji SQL Server jest funkcja CharIndex (). Ta funkcja zwraca pozycję indeksu podłoża.
W tym przewodniku przyjrzy się, jak korzystać z funkcji CharIndex, aby wyszukać określone podłoże.
Podstawowe użycie
Zastosowaliśmy głównie funkcję CharIndex do zlokalizowania/wyszukiwania podrzędnego z określonej pozycji. Funkcja zwraca pozycję podkładu, jeśli zostanie znaleziona i liczba całkowita 0, jeśli nie znaleziono.
Składnia funkcji jest jako:
CharIndex (Substring, main_string [, start_location]);Argumenty funkcyjne i wartość zwracana
Funkcja Charindex akceptuje 3 argumenty:
Parametr start_location jest opcjonalny. Jeśli wartość pozycji start_.
Charindex domyślnie zwraca int. Jeśli jednak podłoże jest typu nvchar (max), varbinary (max) lub varchar (max), funkcja zwraca typ bigINT.
SQL Server Charindex () Przykłady
Spójrzmy na kilka przykładów korzystania z funkcji CharIndex () na serwerze SQL.
Przykład 1:
Poniższy przykład wyszukuje proste podłoże.
Wybierz CharIndex („SQL”, „Baza danych: SQL Server”) jako index_position;Powyższe zapytanie powinno zwrócić pozycję wyjściową dopasowanego podkładu.
Przykładem jest to, jak pokazano:
indeks_positionUwaga: Zwrócona pozycja początkowa to indeks oparty na 1, a nie 0.
Przykład 2
Poniższy przykład pokazuje, że pozycja początkowa jest oparta na 1.
Wybierz CharIndex („Linux”, „Linuxhint”) jako index_position;Powstała lokalizacja to 1, jak pokazano poniżej:
indeks_positionPrzykład 3:
Funkcja Charindex jest nieczuła przypadka. Oznacza to, że będzie pasował do podłańca, nawet jeśli nie podziela podobnej obudowy.
Wybierz CharIndex („Linux”, „Linuxhint”) jako index_position;Zapytanie nadal zwraca pierwszą pasującą pozycję przeszukanego podłoża.
indeks_positionPrzykład 4:
Załóżmy, że chcesz przeprowadzić wyszukiwanie wrażliwe na skrzynki za pomocą funkcji CharIndex? Aby to zrobić, możesz użyć zestawu, aby określić celowanie docelowe.
Przykładem jest jak pokazano:
Wybierz CharIndex („Linux”, „Linuxhint” Zbieraj Latin1_general_CS_S_S_S_WS) jako index_position;Powyższe zapytanie zwróci liczbę całkowitą 0, ponieważ nie ma dopasowania podkładu.
indeks_positionPrzykład 5:
Jak wspomnialiśmy wcześniej, możesz określić wartość STTHE_POSITION, aby ustawić początek pozycji wyszukiwania.
Na przykład pytanie poniżej ustawia pozycję początkową na 10.
Wybierz CharIndex („Charindex”, „SQL Server Tutorial”, 10) jako indeks_position;W naszym przykładzie pierwszy mecz podłoża znajduje się na pozycji 12.
indeks_positionJeśli ustawimy pozycję początkową po pierwszym dopasowaniu podłoża, funkcja zwróci 0, ponieważ nie ma innych dopasowanych przypadków.
Wybierz CharIndex („Charindex”, „SQL Server Tutorial”, 13) jako indeks_position;Wartość zwracana jest jako:
indeks_positionWniosek
W tym artykule zrozumiałeś, jak korzystać z funkcji CharIndex () na serwerze SQL. Ta funkcja pozwala wyszukiwać podłoże i zwrócić pozycję pierwszego dopasowania.
Dziękuję za przeczytanie!