Expresiones condicionales en SQL estándar

Las expresiones condicionales imponen restricciones en el orden de evaluación de sus entradas. En esencia, se evalúan de izquierda a derecha, con cortocircuito, y solo evalúan el valor de resultado elegido. Por el contrario, todas las entradas a las funciones normales se evalúan antes de llamar a la función. El cortocircuito en expresiones condicionales puede explotarse para el manejo de errores o el ajuste del rendimiento.

Sintaxis Tipos de datos de entrada Tipo de datos del resultado Descripción

CASE expr
  WHEN value THEN result
  [WHEN ...]
  [ELSE else_result]
  END
expr y value: cualquier tipo result y else_result: supertipo de tipos de entrada Compara expr con el valor de cada cláusula WHEN sucesiva y muestra el primer resultado en el que esta comparación muestre verdadero. Las cláusulas WHEN restantes y else_result no se evalúan. Si la comparación expr = value muestra falso o NULL para todas las cláusulas WHEN, muestra else_result si está presente; si no lo está, muestra NULL. Las expresiones expr y value deben ser implícitamente coercibles a un supertipo común; las comparaciones de igualdad se realizan en valores forzados. Las expresiones result y else_result deben ser coercibles a un supertipo común.

CASE
  WHEN cond1 THEN result
  [WHEN cond2...]
  [ELSE else_result]
  END
cond: BOOLEANO result y else_result: supertipo de tipos de entrada Evalúa la condición cond de cada cláusula WHEN sucesiva y muestra el primer resultado en el que la condición es verdadera; las cláusulas WHEN restantes y else_result no se evalúan. Si todas las condiciones son falsas o NULL, muestra else_result si está presente; si no está presente, muestra NULL. Las expresiones result y else_result deben ser implícitamente coercibles a un supertipo común.
COALESCE(expr1, …, exprN) Cualquier tipo Supertipo de tipos de entrada Muestra el valor de la primera expresión no nula. Las expresiones restantes no se evalúan. Todas las expresiones de entrada deben ser implícitamente coercibles a un supertipo común.
IF(cond, true_result, else_result) cond: BOOLEANO true_result y else_result: cualquier tipo. Si cond es verdadero, muestra true_result; de lo contrario, muestra else_result. else_result no se evalúa si cond es verdadero. true_result no se evalúa si cond es falso o NULL. true_result y else_result deben ser coercibles a un supertipo común.
IFNULL(expr, null_result) Cualquier tipo Cualquier tipo o supertipo de tipos de entrada Si expr es NULL, muestra null_result. De lo contrario, muestra expr. Si expr no es NULL, null_result no se evalúa. expr y null_result deben ser implícitamente coercibles a un supertipo común. Sinónimo de COALESCE(expr, null_result).
NULLIF(expression, expression_to_match) Cualquier tipo T o subtipo de T Cualquier tipo T o subtipo de T Muestra NULL si expression = expression_to_match es verdadero; de lo contrario, muestra expression. expression y expression_to_match deben ser implícitamente coercibles a un supertipo común; la comparación de igualdad se realiza en valores forzados.
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.