sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server booleska operatorer

SQL Server har en Boolean data typ. Du kan öppna Logical Operators (Transact-SQL) manualsidan och hitta följande uttalande:

Det är bara det att du inte kan använda den här typen på samma sätt som du kan använda andra Transact-SQL-datatyper. Du kan till exempel inte deklarera booleska variabler eller argument, lägga till booleska kolumner till tabeller, casta till/från en boolesk. Men du kan har booleska uttryck och använd dem i sammanhang där de krävs (WHERE , ON , kontrollera begränsningar...). Du kan också använda booleska operatorer till dessa uttryck:AND , NOT et al. (Operatorer som < , = , LIKE och andra kan också betraktas som booleska, i den meningen att de återvänder booleska resultat, men deras operander är faktiskt aldrig booleska.)

Så, för att sammanfatta, det finns en boolesk typ i SQL Server men dess användning är begränsad, enligt beskrivningen ovan. Varför? Mitt svar kan vara dumt, förlåt, men det är ett som jag är nöjd med:det är så de valde att det skulle vara.



  1. Skapa ett tilläggstest i postgresql

  2. SQL Server v.Next:STRING_AGG() prestanda

  3. MySql - Uppdatera tabell med hjälp av vald uttalande från samma tabell

  4. oracle-fråga - ORA-01652:kan inte utöka tempsegmentet men bara i vissa versioner av sql*plus