Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Postaram się własnymi słowami odpowiedzieć na wczorajsze pytania jednej Pani dotyczące użycia `%` w zapytaniach, oraz sensu i mechanizmu za podwójnym pobraniem danych z tej samej tabeli.
- Na pierwszy ogień `%` razem z `_`. Są to MySQLowe specjalne znaki używne w zapytaniach LIKE nazywane wildcardami.
- `%` odpowiada ciągowi znaków o dowolnej długości
- `_` odpowiada za pojedynczy znak
- Instrukcja LIKE jak Paweł mówił, nie jest wyczulona na wielkość liter, czyli:
- Przykłady `%`:
- LIKE 'a%' - wartości zaczynające się od a, lub A
- LIKE '%a' - wartości kończące się na a, lub A
- LIKE '%a%' - wartości mające w środku a, lub A
- Przykłady `_`:
- LIKE '_a_' - wszystkie trzyznakowe wartości z literą a w środku, kAt, bat, mat, 1A7,
- LIKE '____-05-21' - wywołane na kolumnie w formacie DATE, zwróci osoby mające urodziny 21 maja
- LIKE 'Afr__a' - dla kolumny z nazwami kontynetów, gdzie wartości dodają naukowcy z różnych stron świata pokryje opcje Africa, Afryka i Afrika
- A co jeśli ja chcę sprawdzić czy znak `%` lub `_` jest na jakiejś pozycji?
- Można zrobić to używając ESCAPE CHARACTER.
- Domyśle jest nim `\`. Znak po nim traci super moce, o ile je ma.
- LIKE '%\%' - wartości z % na końcu
- Można `\` zastąpić w zapytaniu za pomocą innego znaku
- LIKE '%a%' ESCAPE 'a' - zwróci wartości z % na końcu, znak `a` przejął rolę `\`
- A co jeśli chce sprawdzić czy `\` gdzieś występuje?
- Zmienić ESCAPE CHARACTER, wtedy `\` jest normalnym znakiem
- LIKE ('%\') ESCAPE 'a'- `\` na końcu wartości
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement