Udostępnij za pośrednictwem


Search Condition (Transact-SQL)

Jest połączeniem jednego lub więcej predykatów, wykorzystujących operatory logiczne AND, OR i NOT.

Topic link iconKonwencje składni języka Transact-SQL

< search_condition > ::= 
    { [ NOT ] <predicate> | ( <search_condition> ) } 
    [ { AND | OR } [ NOT ] { <predicate> | ( <search_condition> ) } ] 
[ ,...n ] 
<predicate> ::= 
    { expression { = | < > | ! = | > | > = | ! > | < | < = | ! < } expression 
    | string_expression [ NOT ] LIKE string_expression 
  [ ESCAPE 'escape_character' ] 
    | expression [ NOT ] BETWEEN expression AND expression 
    | expression IS [ NOT ] NULL 
    | CONTAINS 
    ( { column | * } , '< contains_search_condition >' ) 
    | FREETEXT ( { column | * } , 'freetext_string' ) 
    | expression [ NOT ] IN ( subquery | expression [ ,...n ] ) 
    | expression { = | < > | ! = | > | > = | ! > | < | < = | ! < } 
  { ALL | SOME | ANY} ( subquery ) 
    | EXISTS ( subquery )     } 

Argumenty

  • <search_condition>
    Określa warunki wierszy zwracanych w wyniku dla instrukcja SELECT, wyrażeniu kwerendy lub podkwerenda.Aby uzyskać AKTUALIZACJĘ, instrukcja, określa wierszy, które mają być aktualizowane.W przypadku usunięcia oświadczenia, określa wiersze, które mają zostać usunięte.Nie jest ograniczona do liczby predykatów, które mogą być uwzględnione w Transact-SQL Instrukcja warunek wyszukiwania.

  • NIE
    Negacja wyrażenie warunkowe predykatu.Aby uzyskać więcej informacji zobaczNOT (języka Transact-SQL).

  • ORAZ
    Łączy dwa warunki, a wynikiem jest PRAWDA, gdy oba warunki są PRAWDZIWE.Aby uzyskać więcej informacji zobaczAND (Transact-SQL).

  • LUB
    Łączy dwa warunki, a wartość PRAWDA, gdy któryś z warunków jest równa TRUE.Aby uzyskać więcej informacji zobaczOR (języka Transact-SQL).

  • < predykat >
    To wyrażenie zwraca wartość PRAWDA, FAŁSZ lub nieokreślona.

  • expression
    Jest nazwę kolumna, stałych, funkcja, zmienną, wartość skalarna podkwerenda lub dowolną kombinację nazw kolumn, stała i funkcje połączone przy użyciu operator lub podmiotów gospodarczych lub podkwerenda.Wyrażenie może również zawierać wyrażenie przypadek.

    Uwaga

    Przy odwoływaniu się do typy danych standardu Unicode znaku nchar, nvarchar, a ntext, „ wyrażenie „ należy poprzedzać prefiksem w Wielka litera n ". Jeśli 'N' nie zostanie określona, SQL Server Konwertuje ciąg na strona kodowa, która odpowiada domyślnym sortowaniem bazy danych lub kolumna. Tracone są wszystkie znaki, nie można odnaleźć tej strona kodowa.

  • =
    Operator służy do testowania równości między dwoma wyrażeniami.

  • <>
    Operator służy do testowania warunku dwa wyrażenia nie jest równy sobie nawzajem.

  • !=
    Operator służy do testowania warunku dwa wyrażenia nie jest równy sobie nawzajem.

  • >
    Czy operator używany do testowania warunku jedno wyrażenie jest większa od drugiej.

  • >=
    Czy operator używany do testowania warunku jednego wyrażenie jest większa niż lub równa inne wyrażenie.

  • !>
    Operator służy do testowania warunku jednego wyrażenie nie jest większa niż inne wyrażenie.

  • <
    Czy operator używany do testowania warunku jedno wyrażenie jest mniejsza niż drugi.

  • <=
    Czy operator używany do testowania warunku jedno wyrażenie jest mniejsza niż lub równa inne wyrażenia.

  • !<
    Czy operator używany do testowania warunku jednego wyrażenie nie jest mniejsza niż inne wyrażenie.

  • string_expression
    To ciąg znaków i symboli wieloznacznych.

  • [NOT] PODOBNIE JAK
    Wskazuje, że ciąg kolejnych znaków jest do użytku z pasujące do wzorca.Aby uzyskać więcej informacji zobaczLIKE (języka Transact-SQL).

  • ESCAPE**"escape_ character'**
    Allows for a wildcard character to be searched for in a character string instead of functioning as a wildcard.escape_character is the character that is put in front of the wildcard character to indicate this special use.

  • [NOT] MIĘDZY
    Określa włącznie zakresem wartości.Użycie i do oddzielenia początkowy i końcowy wartości.Aby uzyskać więcej informacji zobaczBETWEEN (Transact-SQL).

  • [NOT] MA WARTOŚĆ NULL
    Określa wyszukiwanie wartości null lub wartości, które nie są puste, w zależności od używanych słów kluczowych.Wyrażenie z operator arytmetycznych lub bitowe ma wartość NULL, jeśli jeden operandy ma wartość NULL.

  • ZAWIERA
    Kolumny zawierające dane opartym na znakach (dokładne lub mniej dokładne wyszukiwanieniewyraźny) pasuje do pojedynczych wyrazów i fraz, bliskość wyrazy w pewnej odległości sobie nawzajem i ważona dopasowania.Tej opcji można używać tylko w instrukcji SELECT.Aby uzyskać więcej informacji zobaczCONTAINS.

  • FREETEXT
    Zapewnia prosty formularz kwerendy języka naturalnego, przeszukując kolumny zawierające dane oparte na znak wartości, które pasują do znaczenia, a nie w dokładnym brzmieniu wyrazy w predykacie.Tej opcji można używać tylko w instrukcji SELECT.Aby uzyskać więcej informacji zobaczFREETEXT (Transact-SQL).

  • [NOT] W
    Określa wyszukiwanie wyrażenie, oparte na czy wyrażenie jest włączone albo wyłączone z listy.Wyszukiwane wyrażenie może być stała lub nazwę kolumna, a lista może być zestaw stała lub bardziej zazwyczaj podkwerenda.Należy umieścić na liście wartości w nawiasach.Aby uzyskać więcej informacji zobaczIN (Transact-SQL).

  • subquery
    Mogą być uważane za ograniczone instrukcja SELECT i jest podobne do <query_expresssion> w instrukcja SELECT. Klauzula ORDER BY, klauzula COMPUTE i słowa kluczowego INTO nie są dozwolone.Aby uzyskać więcej informacji zobaczSELECT (Transact-SQL).

  • ALL
    Używany operator porównania i podkwerenda.Zwraca wartość TRUE dla <predykat> Po pobraniu wszystkich wartości dla podkwerenda spełniają operacja porównania, lub FAŁSZ, jeśli nie wszystkie wartości spełniają porównania lub gdy podkwerendę zwraca nie wierszy do instrukcja znajdującej się w zewnętrznym. Aby uzyskać więcej informacji zobaczWSZYSTKIE (języka Transact-SQL).

  • {NIEKTÓRE | WSZELKIE}
    Używany operator porównania i podkwerenda.Zwraca wartość TRUE dla <predykat> gdy każda wartość pobrane dla podkwerenda spełnia wymagania operacja porównania, lub FAŁSZ, gdy nie ma żadnych wartości w podkwerendzie spełniają porównania lub gdy podkwerendę zwraca nie wierszy do instrukcja znajdującej się w zewnętrznym. W przeciwnym wypadku wyrażenie jest nieokreślona.Aby uzyskać więcej informacji zobaczNiektóre | ANY (języka Transact-SQL).

  • ISTNIEJE
    Aby sprawdzić istnienie wierszy zwróconych przez podkwerendę, używany z podkwerenda.Aby uzyskać więcej informacji zobaczEXISTS (języka Transact-SQL).

Remarks

NIE jest kolejność pierwszeństwa operatorów logicznych (najwyższe), po której następuje AND, po której następuje OR.Nawiasy mogą być wykorzystane do zastępowania priorytet, to w warunek wyszukiwania.Kolejność wywoływania operatorów logicznych może się różnić w zależności od wyborów dokonanych przez optymalizator kwerendy.Aby uzyskać więcej informacji na temat sposobu operatory logiczne działają na wartości logiczne Zobacz AND (Transact-SQL), OR (języka Transact-SQL), a NOT (języka Transact-SQL).

Przykłady

A.Za pomocą WHERE z LIKE i ESCAPE składni

Następujący przykład wyszukuje wierszy, w którym LargePhotoFileName kolumna zawiera znaki green_i używa ESCAPE Opcja, ponieważ _ jest symbolem wieloznacznym. Bez określenia ESCAPE Po wybraniu opcji kwerendy czy wyszukiwania wartości opis zawierających wyraz green następuje dowolny pojedynczy znak inny niż _ znak.

USE AdventureWorks ;
GO
SELECT * 
FROM Production.ProductPhoto
WHERE LargePhotoFileName LIKE '%greena_%' ESCAPE 'a' ;

B.Za pomocą WHERE i LIKE składni z danych Unicode

W poniższym przykładzie użyto WHERE Klauzula pobrać adresu wysyłkowego dla każdej firmy, która znajduje się poza (Stany ZjednoczoneUS) i w mieście, których nazwa zaczyna się od Mn.

USE AdventureWorks ;
GO
SELECT AddressLine1, AddressLine2, City, PostalCode, CountryRegionCode  
FROM Person.Address AS a
JOIN Person.StateProvince AS s ON a.StateProvinceID = s.StateProvinceID
WHERE CountryRegionCode NOT IN ('US')
AND City LIKE N'Mn%' ;