Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              Van toepassing op:
 Databricks SQL 
 Databricks Runtime
Verschillende speciale drijvendekommawaarden worden op een niet-hoofdlettergevoelige manier behandeld:
- Inf, +Inf, Infinity, +Infinity: positief oneindigheid
 - -Inf, -Infinity: negatieve oneindigheid
 - NaN: geen getal
 
Positieve en negatieve oneindigheidssemantiek
Positieve en negatieve oneindigheid hebben de volgende semantiek:
- Positief oneindigheid vermenigvuldigd met een positieve waarde retourneert positieve oneindigheid.
 - Negatieve oneindigheid vermenigvuldigd met een positieve waarde retourneert negatieve oneindigheid.
 - Positief oneindigheid vermenigvuldigd met een negatieve waarde retourneert negatieve oneindigheid.
 - Negatieve oneindigheid vermenigvuldigd met een negatieve waarde retourneert positieve oneindigheid.
 - Positief of negatief oneindigheid vermenigvuldigd met 0 retourneert NaN.
 - Positief of negatief oneindig is gelijk aan zichzelf.
 - In aggregaties worden alle positieve oneindigheidswaarden gegroepeerd. Op dezelfde manier worden alle negatieve oneindigheidswaarden gegroepeerd.
 - Positieve oneindigheid en negatieve oneindigheid worden behandeld als normale waarden in joinsleutels.
 - Positieve oneindigheid sorteert lager dan NaN en hoger dan andere waarden.
 - Negatieve oneindigheid sorteert lager dan andere waarden.
 
NaN-semantiek
Bij het omgaan met of float typen die niet exact overeenkomen met double standaard drijvendekomma-semantiek, heeft NaN de volgende semantiek:
- NaN = NaN retourneert waar.
 - In aggregaties worden alle NaN-waarden gegroepeerd.
 - NaN wordt behandeld als een normale waarde in joinkeys.
 - NaN-waarden komen in oplopende volgorde als laatste, groter dan elke andere numerieke waarde.
 
Voorbeelden
> SELECT double('infinity');
 Infinity
> SELECT float('-inf');
 -Infinity
> SELECT float('NaN');
 NaN
> SELECT double('infinity') * 0;
 NaN
> SELECT double('-infinity') * (-1234567);
 Infinity
> SELECT double('infinity') < double('NaN');
 true
> SELECT double('NaN') = double('NaN');
 true
> SELECT double('inf') = double('infinity');
 true
> SELECT COUNT(*), c2
    FROM VALUES (1, double('infinity')),
                (2, double('infinity')),
                (3, double('inf')),
                (4, double('-inf')),
                (5, double('NaN')),
                (6, double('NaN')),
                (7, double('-infinity'))
        AS test(c1, c2)
    GROUP BY c2;
        2       NaN
        2 -Infinity
        3  Infinity