- 09/08/2020
- 2 minuty na przeczytanie
-
- r
Ten artykuł przedstawia jak używać znaków wieloznacznych w instrukcji SQL-SELECT aby dodać uniwersalność do tej instrukcji.
Oryginalna wersja produktu: Visual FoxPro
Oryginalny numer KB: 98434
Podsumowanie
Aby rozszerzyć możliwości wyboru instrukcji SQL-SELECT, można użyć dwóch znaków wieloznacznych, znaku procentu (%) i podkreślenia (_).
Znak procentu jest analogiczny do znaku wieloznacznego gwiazdki (*) używanego w systemie MS-DOS. Znak procentu pozwala na zastąpienie jednego lub więcej znaków w polu.
Podkreślnik jest podobny do znaku wieloznacznego MS-DOS question mark. Podkreślenie pozwala na zastąpienie pojedynczego znaku w wyrażeniu. Poniżej znajdują się trzy przykłady użycia tych znaków w poleceniu SQL-SELECT. Przykłady używają pliku Customer.dbf, który jest dołączony do Microsoft Visual FoxPro w folderze Home(2)+data.
Więcej informacji
Poniższa instrukcja SELECT-SQL zwraca wszystkie rekordy z tabeli Customer.dbf, które zawierają „W” jako pierwszy znak w polu Regionabbreviation
. Instrukcja SELECT-SQL wyświetla listę rekordów z „WY” i „WA” w oknie Browse.
SELECT * from customer WHERE Region like "W_"
Poniższa instrukcja SELECT-SQL wyświetla listę wszystkich rekordów, które mają „P” lub „C” jako ostatni znak w polu Regionabbreviation
. Dane wyjściowe zawierają rekordy z „SP” i „BC.”
SELECT * from customer WHERE Region like "_P" OR region like "_C"
Następująca instrukcja SELECT-SQL używa znaku procentu i podkreślenia, aby zwrócić wszystkie rekordy, które mają Cust_ID, który zaczyna się od „G” i które mają pole Regionabbreviation
, które kończy się na „P.”
Note
The percent sign lets any string of characters follow the „G.” Conversely, the underscore permits the substitution of only a single character.
SELECT * FROM Customer WHERE cust_ID LIKE "G%" AND region LIKE "_P"
To do a string search similar to the one performed by the $ function, use a statement like:
SELECT * from customer WHERE company like "%M%"
This SELECT-SQL statement finds all companies that have names that contain „M.”