Aracılığıyla paylaş


Arama koşulu (Transact-SQL)

AND, OR Mantıksal işleçler kullanan bir veya daha fazla yüklemler birlikte iş ve DEĞIL.

Topic link iconTransact-SQL sözdizimi kuralları

< 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 )     } 

Bağımsız değişkenler

  • <search_condition>
    Sonucu olarak döndürülen satırları ile ilgili koşulları belirtir küme ifadein bir ifade için sorgu veya subquery.Için bir UPDATE deyim, güncelleştirilecek satırları belirtir.Bir DELETE için deyim, silinecek satırları belirtir.Eklenebilir yüklemler sayısına bir sınır bir Transact-SQL deyim arama koşulu.

  • NOT
    Boolean olumsuzlar ifade tarafından yüklemi belirtildi.Daha fazla bilgi için bkz:NOT (Transact-SQL).

  • AND
    Iki koşulu birleştirir ve bu koşulların her ikisi de TRUE olduğunda, TRUE olarak değerlendirilir.Daha fazla bilgi için bkz:AND (Transact-SQL).

  • OR
    Iki koşulu birleştirir ve her iki koşul DOğRU ise, TRUE olarak değerlendirilir.Daha fazla bilgi için bkz:OR (Transact-SQL).

  • < Doðrulama >
    TRUE, FALSE veya BILINMEYEN döndüren ifade belirtilir.

  • expression
    Bir sütun adı, bir sabit, işlev, bir değişken, skaler bir alt sorgu veya sütun adları, sabitleri ve işlevleri bağlı herhangi bir birleşimi bir işleç işleç s veya alt sorgu.Ifade, ayrıca durum ifade içerebilir.

    Not

    Unicode karakter veri türlerini başvururken nchar, nvarchar, ve ntext, ' ifade ' büyük harfle öneki 'n '. 'N' belirtilmedi, SQL Server dizeye dönüştürür kod sayfa, veritabanı veya sütun için varsayılan harmanlama karşılık gelir. Bu kod sayfasında bulunmayan tüm karakterler büyük/küçük harf kaybolur.

  • =
    Işleç, iki deyim arasındaki eşitlik sınamak için kullanılır.

  • <>
    Işleç birbirine eşit iki deyim durumunu sınamak için kullanılır.

  • !=
    Işleç birbirine eşit iki deyim durumunu sınamak için kullanılır.

  • >
    ifade koşul sınamak için kullanılan işleç diğerinden daha büyük iş.

  • >=
    Bir ifadenin koşul sınamak için kullanılan işleç, başka bir ifade ya da daha büyük olan iş.

  • !>
    Işleç, diğer ifade büyük bir deyim durumunu sınamak için kullanılır.

  • <
    ifade koşul sınamak için kullanılan işleç diğerinden daha az olan iş.

  • <=
    ifade koşul sınamak için kullanılan işleç, diğer bir ifadeye eşit veya bundan küçük olan iş.

  • !<
    ifade koşul sınamak için kullanılan işleç diğer ifade daha az olan.

  • string_expression
    Iş bir dize ve joker karakterler.

  • [not] BENZER
    Gösterir sonraki karakteri dize desen eşleştirme ile kullanılır.Daha fazla bilgi için bkz:(Transact-SQL).

  • ÇıKıŞ**'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] ARASINDA
    (Dahil) arasında bir değer aralık belirtir.Kullanım VE başlangıç ve bitiş değerlerinin ayırın.Daha fazla bilgi için bkz:(Transact-SQL ARASıNDA).

  • NULL [not]
    Veya, kullanılan anahtar sözcükler bağlı boş olmayan değerler null değerleri için bir arama belirtir.Işlenen herhangi biri NULL ise, bitwise veya aritmetik bir işlece sahip bir ifade NULL olarak değerlendirir.

  • İÇERİR
    Kesin veya daha az hassas (karakter tabanlı veri içeren sütunlar için arama yaparBelirsiz) tek sözcükleri ve tümceleri, yakınlık ve birbirine ağırlıklı bir eşleşen belirli bir uzaklığa içinde sözcüklerin eşleşir.Bu seçenek yalnızca, SELECT deyimi ile kullanılabilir.Daha fazla bilgi için bkz:CONTAINS.

  • freetext
    Doğal dil sorgusu için basit bir form, karakter tabanlı veri anlamı yüklemi tam sözcükler yerine uyan değerleri içeren sütunlar arayarak sağlar.Bu seçenek yalnızca, SELECT deyimi ile kullanılabilir.Daha fazla bilgi için bkz:FREETEXT (Transact-SQL).

  • [not] İÇİNDE
    Ifade veya dahil listeden dışlanan bağlı deyim aramasını belirtir.Arama ifadesi bir sabit veya bir sütun adı olabilir ve bu liste, bir dizi sabitleri veya genellikle daha alt sorgu olabilir.Değerlerin listesini, ayraç içine alın.Daha fazla bilgi için bkz:IN (Transact-SQL).

  • subquery
    Sınırlı bir deyim düşünülmesi ve benzer <query_expresssion> SELECT deyiminde. ORDER BY yan tümce, COMPUTE yan tümce ve INTO anahtar sözcüğü izin verilmez.Daha fazla bilgi için bkz:SELECT (Transact-SQL).

  • ALL
    Karşılaştırma işleç ve bir alt sorgu ile birlikte kullanılır.Için DOğRU verir <Doðrulama> zaman için bir alt sorgunun alınan tüm değerleri karşılaştırma işlemi gerçekleştirmek veya YANLıŞ tüm değerler, karşılaştırma veya ne zaman alt sorgunun hiçbir satır için dış döndürür karşılamak deyim. Daha fazla bilgi için bkz:Tüm (Transact-SQL).

  • {BAZI | TÜM}
    Karşılaştırma işleç ve bir alt sorgu ile birlikte kullanılır.Için DOğRU verir <Doðrulama> hiçbir alt sorgunun değerler, karşılaştırma veya ne zaman alt sorgu, dış ifadesine hiçbir satır döndürür karşılamak için herhangi bir değer, alt sorgu için alınan karşılaştırma işlemi ya da YANLıŞ karşılar. Tersi durumda ifade UNKNOWN ' dir.Daha fazla bilgi için bkz:BAZı | ANY (Transact-SQL).

  • VAR
    Alt sorgu için alt sorgu tarafından döndürülen satır var olup olmadığını sınamak için kullanılır.Daha fazla bilgi için bkz:(Transact-SQL) EXISTS.

Remarks

Mantıksal işleçlerin önceliği sırası değildir (yüksek), arkasından VE peşinden VEYA.Parantez içinde bir arama koşulu bu önceliği geçersiz kılmak için kullanılır.Mantıksal işleçlerin değerlendirme sırası, sorgu iyileştiricisi tarafından yapılan seçimleri bağlı olarak değişebilir.Mantıksal işleçler, mantığı değerlerini nasıl çalışmak hakkında daha fazla bilgi için bkz: AND (Transact-SQL), OR (Transact-SQL), ve NOT (Transact-SQL).

Örnekler

C.LIKE ve sözdizimi ÇıKıŞ WHERE ile kullanma

Aşağıdaki örnek, satırları arar LargePhotoFileName sütun karakterden green_ve ESCAPE çünkü seçeneği _ bir joker karakterdir. Belirtmeden ESCAPE seçenek, sorgu sözcüğünü açıklaması değerleri arama green herhangi bir tek karakter dışında ardından _ karakter.

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

b.WHERE ve Unicode veri sözdizimiyle LIKE kullanma

Aşağıdaki örnek WHERE ABD (dışında olan herhangi bir şirket için posta adresini almak için yan tümceUS) ve adı'ile başlayan bir şehirde 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%' ;