Sdílet prostřednictvím


Relační operátory (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Operátory porovnání testují, jestli jsou dva výrazy stejné. Relační operátory lze použít u všech výrazů kromě výrazů textu, ntextu nebo datových typů obrázků . Následující tabulka uvádí operátory porovnání Transact-SQL.

Operator Meaning
= (Rovná se) Rovná se
> (Větší než) Je větší než
< (Menší než) Menší než
>= (větší než nebo rovno) Větší nebo rovno
<= (menší než nebo rovno) Menší nebo rovno
<> (Nerovná se) Nerovná se
!= (nerovná se) Nerovná se (nikoli standard ISO)
!< (Ne méně než) Není menší než (není standard ISO)
!> (Není větší než) Není větší než (není standard ISO)

Logický datový typ

Výsledek relačního operátoru má logický datový typ. Má tři hodnoty: PRAVDA, NEPRAVDA a UNKNOWN. Výrazy, které vracejí logický datový typ, se označují jako logické výrazy.

Na rozdíl od jiných datových typů SQL Serveru nelze jako datový typ sloupce nebo proměnné tabulky zadat logický datový typ a nelze ho vrátit v sadě výsledků.

Pokud je funkce SET ANSI_NULLS ZAPNUTÁ, vrátí operátor, který má jeden nebo dva výrazy NULL. Pokud je ANSI_NULLS SET VYPNUTO, platí stejná pravidla s výjimkou operátorů rovná se (=) a ne rovná se (<>). Pokud je funkce SET ANSI_NULLS vypnutá, tyto operátory považují hodnotu NULL za známou hodnotu, která odpovídá jakékoli jiné hodnotě NULL, a vrací pouze hodnotu PRAVDA nebo NEPRAVDA (nikdy NEZNÁMÝ).

Výrazy s logickými datovými typy se používají v klauzuli WHERE k filtrování řádků, které mají nárok na podmínky hledání, a v příkazech jazyka toku řízení, jako je NAPŘÍKLAD KDYŽ a WHILE, například:

-- Uses AdventureWorks  
  
DECLARE @MyProduct INT;  
SET @MyProduct = 750;  
IF (@MyProduct <> 0)  
   SELECT ProductID, Name, ProductNumber  
   FROM Production.Product  
   WHERE ProductID = @MyProduct;  

Viz také

Výrazy (Transact-SQL)
Operátory (Transact-SQL)