Símbolos de operadores matemáticos - Amazon Redshift

Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del 1 de noviembre de 2025. Si desea utilizar las UDF de Python, créelas antes de esa fecha. Las UDF de Python existentes seguirán funcionando con normalidad. Para obtener más información, consulte la publicación del blog.

Símbolos de operadores matemáticos

En la tabla siguiente, se muestran los operadores matemáticos admitidos.

Operadores admitidos

Operador Descripción Ejemplo Resultado
+ suma 2 + 3 5
- resta 2 - 3 -1
* multiplicación 2 * 3 6
/ división 4/2 2
% módulo 5 % 4 1
^ potencia 2,0 ^ 3,0 8
|/ raíz cuadrada | / 25,0 5
||/ raíz cúbica || / 27,0 3
@ valor absoluto @ -5,0 5
<< cambio bit a bit hacia la izquierda 1 << 4 16
>> cambio bit a bit hacia la derecha 8 >> 2 2
& bit a bit y 8 & 2 0

Ejemplos

En los siguientes ejemplos se utiliza la base de datos de ejemplo TICKIT. Para obtener más información, consulte Base de datos de muestra.

Para calcular la comisión pagada más un 2.00 $ para una transacción dada, utilice el siguiente ejemplo.

SELECT commission, (commission + 2.00) AS comm FROM sales WHERE salesid = 10000; +------------+-------+ | commission | comm | +------------+-------+ | 28.05 | 30.05 | +------------+-------+

Para calcular el 20 % del precio de venta para una transacción dada, utilice el siguiente ejemplo.

SELECT pricepaid, (pricepaid * .20) as twentypct FROM sales WHERE salesid=10000; +-----------+-----------+ | pricepaid | twentypct | +-----------+-----------+ | 187 | 37.4 | +-----------+-----------+

Para prever las ventas de tickets según un patrón de crecimiento continuo, use el siguiente ejemplo. En este ejemplo, la subconsulta devuelve la cantidad de tickets vendidos en 2008. El resultado se multiplica exponencialmente por un índice de crecimiento continuo del 5% durante 10 años.

SELECT (SELECT SUM(qtysold) FROM sales, date WHERE sales.dateid=date.dateid AND year=2008)^((5::float/100)*10) AS qty10years; +------------------+ | qty10years | +------------------+ | 587.664019657491 | +------------------+

Para encontrar el precio total pagado y la comisión por ventas con un ID de fecha que sea mayor que o igual a 2000, use el siguiente ejemplo. Luego, se resta la comisión total del precio total pagado.

SELECT SUM(pricepaid) AS sum_price, dateid, SUM(commission) AS sum_comm, (SUM(pricepaid) - SUM(commission)) AS value FROM sales WHERE dateid >= 2000 GROUP BY dateid ORDER BY dateid LIMIT 10; +-----------+--------+----------+-----------+ | sum_price | dateid | sum_comm | value | +-----------+--------+----------+-----------+ | 305885 | 2000 | 45882.75 | 260002.25 | | 316037 | 2001 | 47405.55 | 268631.45 | | 358571 | 2002 | 53785.65 | 304785.35 | | 366033 | 2003 | 54904.95 | 311128.05 | | 307592 | 2004 | 46138.8 | 261453.2 | | 333484 | 2005 | 50022.6 | 283461.4 | | 317670 | 2006 | 47650.5 | 270019.5 | | 351031 | 2007 | 52654.65 | 298376.35 | | 313359 | 2008 | 47003.85 | 266355.15 | | 323675 | 2009 | 48551.25 | 275123.75 | +-----------+--------+----------+-----------+