sql >> Databáze >  >> RDS >> Sqlserver

Proč se NULL =NULL na serveru SQL vyhodnotí jako nepravda

V takovém případě si null představte „neznámý“ (nebo „neexistuje“). V žádném z těchto případů nemůžete říci, že jsou si rovni, protože neznáte hodnotu ani jednoho z nich. Takže null=null se vyhodnotí jako nepravda (false nebo null, v závislosti na vašem systému), protože neznáte hodnoty, abyste mohli říci, že jsou stejné. Toto chování je definováno ve standardu ANSI SQL-92.

EDIT:To závisí na vašem nastavení ansi_nulls. pokud máte ANSI_NULLS vypnuto, bude to vyhodnoceno jako pravda. Spusťte následující kód pro příklad...

set ansi_nulls off

if null = null
    print 'true'
else
    print 'false'


set ansi_nulls ON

if null = null
    print 'true'
else
    print 'false'


  1. Instalace postgresql s NSIS

  2. Jaký je rozdíl mezi Float a Numeric/Decimal na SQL Server - SQL Server / T-SQL výukový program, část 33

  3. HA pro MySQL a MariaDB - Porovnání Master-Master replikace s Galera Cluster

  4. Jak vytvořit sekvenci Oracle začínající maximální hodnotou z tabulky?