Difference between pages "CEIL/de" and "COALESCE/de"

From SQLZOO
< CEIL(Difference between pages)
Jump to: navigation, search
 
 
Line 2: Line 2:
 
<table align='right' border='1'>
 
<table align='right' border='1'>
 
<caption>Kompatibilität</caption>
 
<caption>Kompatibilität</caption>
<tr><th colspan='3'>CEIL(f)</th></tr>
+
<tr><th colspan='3'>COALESCE(f1, f2)</th></tr>
 
<tr><td align='center'>'''DBMS'''</td><td align='center'>'''OK'''</td><td align='center'>'''Alternative'''</td></tr>
 
<tr><td align='center'>'''DBMS'''</td><td align='center'>'''OK'''</td><td align='center'>'''Alternative'''</td></tr>
 
<tr><td align='left'>Ingres</td><td>Ja</td><td></td></tr>
 
<tr><td align='left'>Ingres</td><td>Ja</td><td></td></tr>
<tr><td align='left'>MySQL</td><td>Ja</td><td></td></tr>
+
<tr><td align='left'>MySQL</td><td>Ja</td><td>[[IFNULL/de |IFNULL(f1, f2)]]</td></tr>
<tr><td align='left'>Oracle</td><td>Ja</td><td></td></tr>
+
<tr><td align='left'>Oracle</td><td>Ja</td><td>[[NVL/de |NVL(f1, f2)]]</td></tr>
 
<tr><td align='left'>PostgreSQL</td><td>Ja</td><td></td></tr>
 
<tr><td align='left'>PostgreSQL</td><td>Ja</td><td></td></tr>
<tr><td align='left'>SQL Server</td><td>Nein</td><td>[[FLOOR/de |FLOOR(-f)]]</td></tr>
+
<tr><td align='left'>SQL Server</td><td>Ja</td><td></td></tr>
 
</table>
 
</table>
  
<h1>CEIL</h1>
+
<h1>COALESCE</h1>
<p><b>CEIL(f)</b> ermittelt die Ganzzahl (Integer), die gleich oder die nächstgrößere Zahl zu <b>f</b> ist. CEIL rundet immer auf.</p>  
+
<p>COALESCE liefert aus einer Liste von Werten den ersten Wert, der nicht NULL ist. </p>
<pre style='width:50ex'>
+
<p></p>  
CEIL(2.7) ->  3
+
<pre style='width:90ex'>
CEIL(-2.7) -> -2
+
  COALESCE(x,y,z) = x, wenn x nicht NULL ist
 +
  COALESCE(x,y,z) = y, wenn x NULL ist und y nicht NULL ist
 +
  COALESCE(x,y,z) = z, wenn x und y NULL sind, aber z nicht NULL ist
 +
  COALESCE(x,y,z) = NULL, wenn x und y und z NULL sind
 
</pre>
 
</pre>
  
 
<div class='ht'>
 
<div class='ht'>
In diesem Beispiel wird die Bevölkerungszahl (Population) in Millionen berechnet.
+
<div class=params>schema:gisq</div>
<source lang='sql' class='def e-sqlserver'>  
+
COALESCE kann hilfreich sein, wenn NULL-Werte durch andere Werte ersetzt werden sollen.
SELECT population/1000000 AS a,
+
In diesem Beispiel werden die Namen der Parteien der Mitglieder des Schottischen Parlaments (MSP) angezeigt.
       FLOOR(population/1000000) AS b
+
Für Mitglieder, die keiner Partei angehören (z.B. Canavan, Dennis) wird die Zeichenkette 'Keine' ausgegeben. 
   FROM bbc
+
<source lang='sql' class='def e-oracle'>
 +
SELECT name, party,
 +
       COALESCE(party,'Keine') AS aff
 +
   FROM gisq.msp WHERE name LIKE 'C%'
 
</source>
 
</source>
 
<source lang='sql' class='def'>
 
<source lang='sql' class='def'>
SELECT population/1000000 AS a,
+
SELECT name, party,
       CEIL(population/1000000) AS b
+
       COALESCE(party,'Keine') AS aff
   FROM bbc
+
   FROM msp WHERE name LIKE 'C%'
 
</source>
 
</source>
 
</div>
 
</div>
Line 34: Line 40:
 
<p>Siehe auch</p>
 
<p>Siehe auch</p>
 
<ul>
 
<ul>
   <li>[[ROUND/de | Funktion ROUND]]</li>
+
   <li>[[CASE/de | Funktion CASE]]</li>
   <li>[[MOD/de | Funktion MOD]]</li>
+
   <li>[[NULLIF/de | Funktion NULLIF]]</li>
 +
  <li>[[NVL/de | Funktion NVL]]</li>
 
</ul>
 
</ul>
  
 
{{Languages}}
 
{{Languages}}

Latest revision as of 18:12, 21 October 2012

Kompatibilität
COALESCE(f1, f2)
DBMSOKAlternative
IngresJa
MySQLJaIFNULL(f1, f2)
OracleJaNVL(f1, f2)
PostgreSQLJa
SQL ServerJa

COALESCE

COALESCE liefert aus einer Liste von Werten den ersten Wert, der nicht NULL ist.

  COALESCE(x,y,z) = x, wenn x nicht NULL ist
  COALESCE(x,y,z) = y, wenn x NULL ist und y nicht NULL ist
  COALESCE(x,y,z) = z, wenn x und y NULL sind, aber z nicht NULL ist
  COALESCE(x,y,z) = NULL, wenn x und y und z NULL sind
schema:gisq

COALESCE kann hilfreich sein, wenn NULL-Werte durch andere Werte ersetzt werden sollen. In diesem Beispiel werden die Namen der Parteien der Mitglieder des Schottischen Parlaments (MSP) angezeigt. Für Mitglieder, die keiner Partei angehören (z.B. Canavan, Dennis) wird die Zeichenkette 'Keine' ausgegeben.

SELECT name, party,
       COALESCE(party,'Keine') AS aff
  FROM gisq.msp WHERE name LIKE 'C%'
SELECT name, party,
       COALESCE(party,'Keine') AS aff
  FROM msp WHERE name LIKE 'C%'

Siehe auch

Sprache: English  • Deutsch
Personal tools
Namespaces

Variants
Actions
Reference
Toolbox
Google AdSense