Database
 sql >> Baza danych >  >> RDS >> Database

Jak zamienić część ciągu w T-SQL

Problem:

Chcesz wybrać wiersze zawierające ciąg rozpoczynający się od jednego z podanej grupy znaków.

Przykład:

Nasza baza danych zawiera tabelę o nazwie gamer z danymi w id i user kolumny.

id użytkownik
1 superman
2 Magnus
3 lucy
4 stan
5 ali

Znajdźmy wszystkie dane dla graczy, których nazwy użytkowników zaczynają się od „a”, „b”, „r” lub „s”.

Rozwiązanie:

SELECT id, 
  user
FROM gamer
WHERE user LIKE '[abrs]%';

Oto wynik:

id użytkownik
1 superman
4 stan
5 ali

Dyskusja:

Jeśli chcesz filtrować wiersze zawierające ciąg pasujący do podanego wzorca, użyj klauzuli WHERE z operatorem LIKE. Klauzula WHERE służy do filtrowania rekordów spełniających określone warunki. Po WHERE dodajesz nazwę kolumny lub wyrażenie, po którym następuje operator (np. LIKE) i wartości porównania. Po LIKE wpisujesz wzorzec do dopasowania (w naszym przykładzie WHERE user LIKE '[abrs]%' ). Wzór może zawierać znaki i symbole wieloznaczne.

Jednym z symboli wieloznacznych T-SQL jest „%”, który reprezentuje zero lub więcej nieznanych znaków. Symbol wieloznaczny podkreślenia ( _ ) wskazuje jeden znak. Nawiasy kwadratowe ( [] ) otaczają wzorzec do dopasowania; ten wzór może zawierać jedną lub więcej liter lub cyfr. Ciąg docelowy może pasować do jednego lub więcej znaków w nawiasach.

W naszym przykładzie wzorzec '[abrs]%' oznacza, że ​​nazwa użytkownika musi zaczynać się od a, b, r lub s. Po znaku początkowym może być zero lub więcej znaków, ponieważ użyliśmy symbolu wieloznacznego %.

Użytkownicy z id=2 i id=3 nie są wyświetlane; ich nazwy zaczynają się od „l” i „m”, a zatem nie pasują do wybranego przez nas wzorca.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rozwiązywanie problemów z wydajnością procesora w VMware

  2. Model danych ważnych dat

  3. Blokowanie i wydajność

  4. WordPress – Za kulisami, część 2

  5. Jak uzyskać wczorajszą datę w T-SQL