Funciones anidadas

Las funciones escalares y de totales se pueden anidar de varias formas.

Puede anidar funciones de las siguientes formas:

Iniciar la información de la interfaz de programación de uso general.
Ejemplo: Funciones escalares dentro de funciones escalares
Suponga que desea conocer el mes y día de contratación de un empleado concreto del departamento D11. Suponga que también desea obtener el resultado en formato de EE.UU. (mm/dd/aaaa). Utilice esta consulta:
SELECT SUBSTR((CHAR(HIREDATE, USA)),1,5)
  FROM EMP
  WHERE LASTNAME = 'BROWN' AND DEPT = 'D11';

La tabla de resultados es similar a la siguiente:

=====
03/03
Ejemplo: Funciones escalares dentro de funciones de totales
En algunos casos, puede que sea necesario invocar una función escalar desde una función de totales. Suponga que desea conocer el número medio de años de empleo para los empleados del departamento A00. Utilice esta consulta:
SELECT AVG(DECIMAL(YEAR(CURRENT DATE - HIREDATE)))
  FROM EMP
  WHERE DEPT = 'A00';

La tabla de resultados es similar a la siguiente:

=======
20.6666 

La forma real del resultado, 20.6666, depende de cómo se defina la variable de lenguaje principal a la que se asigna el resultado.

Ejemplo: Funciones de totales dentro de funciones escalares
Suponga que desea conocer el año en que se contrató el último empleado del departamento E21. Utilice esta consulta:
SELECT YEAR(MAX(HIREDATE))
  FROM EMP
  WHERE DEPT = 'E21';

La tabla de resultados es similar a la siguiente:

====
2002
Finalizar la información de la interfaz de programación de uso general.