Arama koşulu (Transact-SQL)

VE, veya, mantıksal işleçler kullanan bir veya daha fazla yüklemden bir birleşimidir ve değil.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

<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>
    sonuç kümesi için bir select deyim, sorgu ifadeveya alt sorgudöndürülen satır koşullarını belirtir.Bir güncelleştirme deyim, güncelleştirilecek satırları belirtir.İçin delete deyim, silinecek satırları belirtir.Eklenebilir yüklemler sayısı için bir sınır yoktur bir Transact-SQL deyim arama koşulu.

  • NOT
    Gelemez belirtilen Boole ifade olumsuzlar.Daha fazla bilgi için, bkz. DEĞİL (Transact-SQL).

  • AND
    İki koşulu birleştirir ve koşulların her ikisi de true olduğunda true deðerini verir.Daha fazla bilgi için, bkz. VE (Transact-SQL).

  • OR
    İki koşulu birleştirir ve her iki koşul true olduğunda true deðerini verir.Daha fazla bilgi için, bkz. VEYA (Transact-SQL).

  • < yüklemi >
    true, false veya bilinmeyen döndüren ifade edilir.

  • expression
    Bir sütun adı, bir sabit, bir işlev, değişken, skaler alt sorguveya sütun adları, sabitleri ve işlevleri bir işleç veya operatörleri ya da bir alt sorgubağlı herhangi bir birleşimi olabilir.ifade ifadebüyük/küçük harf de içerebilir.

    Not

    Unicode karakter veri türlerini başvururken nchar, nvarchar, ve ntext, 'ifade' büyük harfle öneki 'n'.Yoksa 'n' belirtilmezse, SQL Server bir kod sayfası varsayılan harmanlama veritabanı veya sütuniçin karşılık gelen dize dönüştürür.Bu kod sayfası bulunmayan herhangi bir karakter kaybolur.

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

  • <>
    işleç , iki ifadeler birbirine eşit olmadığı koşul sınamak için kullanılır.

  • !=
    işleç , iki ifadeler birbirine eşit olmadığı koşul sınamak için kullanılır.

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

  • >=
    Bir ifade koşul sınamak için kullanılan işleç , büyüktür veya eşittir başka bir ifadeoluyor.

  • !>
    Bir ifade koşul sınamak değil için kullanılan işleç diğer ifadebüyük oluyor.

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

  • <=
    Bir ifade koşul sınamak için kullanılan işleç diğer ifadeeşit veya daha az oluyor.

  • !<
    Bir ifade koşul sınamak değil için kullanılan işleç diğer ifadedaha az oluyor.

  • string_expression
    dize ve joker karakterler var.

  • [ İSTER DEĞİL]
    Sonraki karakter dize desen eşleştirme ile kullanılmak üzere olduğunu gösterir.Daha fazla bilgi için, bkz. LIKE (Transact-SQL).

  • Çıkış 'escape_ character'
    Joker karakter olarak çalışmasını yerine bir karakter dize Aranılacak joker karakter verir.escape_characterBu özel kullanım belirtmek için joker karakter önüne konur karakteridir.

  • [ ARASINDA DEĞİL]
    Bir değer (dahil) aralık belirtir.Kullanım ve başlangıç ve bitiş değerlerinin ayırmak için.Daha fazla bilgi için, bkz. (Transact-SQL arasında).

  • IS NULL [NOT]
    Bir arama veya null, kullanılan anahtar sözcükler bağlı olmayan değerleri null değerleri için belirtir.Bitsel ya da aritmetik işleç ifade herhangi birini işlenenler null ise null olarak değerlendirir.

  • İÇERİR
    Kesin veya daha az kesin karakter tabanlı veri içeren sütunlar arar (belirsiz) tek sözcük ve tümcecikleri, yakınlık sözcüklerin birbirine ve ağırlıklı eşleşmelerin belirli bir mesafe içinde uyuyor.Bu seçenek, yalnızca select deyimleri ile kullanılabilir.Daha fazla bilgi için, bkz. CONTAINS (Transact-SQL).

  • SERBEST METİN
    Basit bir form doğal dil sorgu yüklemi tam sözcükler yerine anlamı uyan değerleri için karakter tabanlı veri içeren sütunlar arayarak sağlar.Bu seçenek, yalnızca select deyimleri ile kullanılabilir.Daha fazla bilgi için, bkz. freetext (Transact-SQL).

  • [ NOT] IN
    Arama ifade veya dahil listeden dışlanan bağlı bir ifadebelirtir.Arama ifade , bir sabit veya bir sütun adı olabilir ve liste bir küme , sabitleri veya daha tipik olarak, bir alt sorguolabilir.Değerler listesinin ayraç içine alın.Daha fazla bilgi için, bkz. (Transact-SQL).

  • subquery
    Kısıtlı bir select deyim olarak düşünülebilir ve benzer <query_expresssion> select deyimiçinde.order by yan tümce, compute yan tümceve INTO anahtar sözcüğü verilmez.Daha fazla bilgi için, bkz. SELECT (Transact-SQL).

  • ALL
    Karşılaştırma işleç ve bir alt sorguile kullanılır.İçin doğru'yu döndürür <yüklemi> ne zaman karşılaştırma işlemi için alt sorgu alınan tüm değerleri karşılamak veya tüm değerler olduğunda false karşılamak karşılaştırma veya ne zaman alt sorgu deyimdış hiçbir satır döndürür.Daha fazla bilgi için, bkz. Tüm (Transact-SQL).

  • { BAZI | ANY}
    Karşılaştırma işleç ve bir alt sorguile kullanılır.İçin doğru'yu döndürür <yüklemi> ne zaman herhangi bir değer alınan karşılaştırma işlemi alt sorgu karşılayan veya false değeri yok, alt sorgu içinde karşılamak karşılaştırma veya ne zaman alt sorgu deyimdış hiçbir satır döndürür.Aksi takdirde, ifade bilinmiyor.Daha fazla bilgi için, bkz. BAZI | Herhangi (Transact-SQL).

  • VAR
    alt sorgu alt sorgutarafından döndürülen satır varlığını sınamak için kullanılır.Daha fazla bilgi için, bkz. EXISTS (Transact-SQL).

Açıklamalar

Mantıksal işleçler için kullanım önceliği sırasını değil (yüksek), arkasından ve arkasından veya.Parantez arama koşulubu önceliği geçersiz kılmak için kullanılır.Mantıksal işleçler değerlendirilme sırasını sorgu iyileştiricisitarafından yapılan seçimlerin bağlı olarak değişebilir.Mantıksal işleçler mantığı değerlerini nasıl çalışması hakkında daha fazla bilgi için bkz: VE (Transact-SQL), VEYA (Transact-SQL), ve DEĞİL (Transact-SQL).

Örnekler

A.where ile ister ve sözdizimi KAÇIŞ

Aşağıdaki örnekte satır arar LargePhotoFileName sütun olan karakterleri green_ve ESCAPE çünkü seçenek _ bir joker karakter.Belirtmeden ESCAPE seçeneği, sorgu aramanıza sözcüğü içeren açıklaması değerleri green dışında herhangi bir tek karakteri tarafından izlenen _ karakter.

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

B.Burada ve Unicode veri sözdizimiyle gibi kullanma

Aşağıdaki örnek WHEREABD dışında herhangi bir şirket posta adresini almak içinyan tümce ( US) ve adı ile başlayan bir şehirde Pa.

USE AdventureWorks2008R2 ;
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'Pa%' ;