sql >> Base de Datos >  >> RDS >> Mysql

Función Mysql para transformar valores no nulos

Desafortunadamente, no hay una función para su comportamiento, pero es simple crear su propia función si tiene los permisos para eso, de lo contrario, también podría agregar un IF THEN ELSE a su consulta como ya mostró, pero eso no sería una respuesta para su pregunta. Si desea crear una función, tendrá el problema de que necesita tipos de parámetros explícitos y, lamentablemente, con mysql tampoco es funcional sobrecargar una función (mismo nombre de función pero diferentes tipos de parámetros). Por lo tanto, necesita para diferentes tipos de funciones diferentes con diferentes nombres de funciones. Se vería así:

    CREATE FUNCTION `fmap_varchar`(e1 VARCHAR(255), e2 VARCHAR(255) )
    RETURNS VARCHAR(255) DETERMINISTIC
    RETURN IF(e1 IS NULL, NULL, e2);

Quizás también tenga que cuidar el juego de caracteres correcto que también puede especificar en la cláusula de devolución.

Y la solución con una consulta que ya diste:

    SELECT IF(something IS NULL, NULL, anotherthing) FROM your_table;