CodeGym /Cursos /All lectures for ES purposes /Funciones condicionales

Funciones condicionales

All lectures for ES purposes
Nivel 1, Lección 157
Disponible

1.1 Lista de funciones condicionales

El lenguaje SQL tiene una lista de funciones que son algo similares al operador if-elseen switchJava.

Hay 4 funciones de este tipo en total:

Funciones Descripción
1 CASO interruptor analógico
2 SI() Un análogo del operador ternario o if-else
3 IFNULL() análogo de if-else
4 NULLIF() análogo de if-else

Los últimos tres en SQL se representan como funciones y CASEes un operador completo, por lo que lo consideraremos por separado al final.

1.2 Función SI()

Una función IF()en SQL es algo similar a un operador ternario en Java. En lenguaje SQL, toma 3 parámetros y se ve así:

IF (condition, true, false)

Se deben pasar tres expresiones a la función IF:

  • una condición que se prueba para la verdad;
  • una expresión que se devuelve cuando la condición es verdadera;
  • una expresión que se devuelve cuando la condición es falsa.

A continuación daré algunos ejemplos para que sea más fácil entender cómo funciona:

Pedido Resultado
1 SELECCIONE SI ( 1>2 , 2, 3) 3
2 SELECCIONE SI ( 1<2 , 'sí', 'no') 'Sí'
3 SELECCIONE SI( STRCMP('prueba','prueba1' ), 'no', 'sí') 'No'

1.3 Función IFNULL() y NULLIF()

También hay dos modificaciones de la función IF().

La primera modificación es la función IFNULL(). Solo toma dos valores:

IFNULL (expression 1, expression 2)

Si expresión1 no es igual a NULL, la función devolverá expresión1 . Si expresión1 IS NULL, , la función devolverá expresión2 . La esencia es la sustitución del valor por defecto cuando el campo es igual a NULL.

La segunda modificación de la función IFes la función NULLIF(), también toma dos valores:

NULLIF (expression 1, expression 2)

Funciona en sentido contrario:

  • si expresión1 es igual a expresión2 , entonces la función devuelve NULL;
  • si las expresiones no son iguales, se devuelve expresión1 .
Comentarios (1)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Rodrigo Nivel 112, Iztapalapa Expert
25 septiembre 2025
Qué opinan de esta? la respuesta debería ser 'sí' según yo 3 SELECCIONE SI( STRCMP('prueba','prueba1' ), 'no', 'sí') 'No'