Amazon Redshift wird UDFs ab dem 1. November 2025 die Erstellung von neuem Python nicht mehr unterstützen. Wenn Sie Python verwenden möchten UDFs, erstellen Sie das UDFs vor diesem Datum liegende. Bestehendes Python UDFs wird weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie im Blogbeitrag
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Die Funktion POWER
Die POWER-Funktion ist eine Exponentialfunktion, die einen numerischen Ausdruck mit der Potenz eines zweiten numerischen Ausdrucks potenziert. Beispielsweise wird 2 in der dritten Potenz als POWER(2,3)
berechnet. Das Ergebnis ist 8
.
Syntax
{POW | POWER}(expression1, expression2)
Argumente
- expression1
-
Der numerische Ausdruck, der potenziert werden soll. Muss ein
INTEGER
-,DECIMAL
- oderFLOAT
-Datentyp sein. - expression2
-
Potenz, mit der expression1potenziert werden soll. Muss ein
INTEGER
-,DECIMAL
- oderFLOAT
-Datentyp sein.
Rückgabetyp
DOUBLE PRECISION
Beispiele
In den folgenden Beispielen werden Daten aus der TICKIT-Beispieldatenbank verwendet. Weitere Informationen finden Sie unter Beispieldatenbank.
Im folgenden Beispiel wird die POWER-Funktion verwendet, um die Ticketverkäufe in den nächsten 10 Jahren vorherzusagen, basierend auf der Zahl der im Jahr 2008 verkauften Tickets (das Ergebnis der Unterabfrage). Die Wachstumsrate wird in diesem Beispiel auf 7 % festgelegt.
SELECT (SELECT SUM(qtysold) FROM sales, date WHERE sales.dateid=date.dateid AND year=2008) * POW((1+7::FLOAT/100),10) qty2010;
+-------------------+ | qty2010 | +-------------------+ | 679353.7540885945 | +-------------------+
Das folgende Beispiel ist eine Variante des vorherigen Beispiels. Die Wachstumsrate wird auch hier auf 7 % pro Jahr festgelegt. Das Intervall ist jedoch als Monat festgelegt (120 Monate über 10 Jahre).
SELECT (SELECT SUM(qtysold) FROM sales, date WHERE sales.dateid=date.dateid AND year=2008) * POW((1+7::FLOAT/100/12),120) qty2010;
+-----------------+ | qty2010 | +-----------------+ | 694034.54678046 | +-----------------+