Here’s the MySQL equivalent of Oracle’s NVL and MSSQL/Sybase’s ISNULL functions.




If expr1 is not NULL, IFNULL() returns expr1; otherwise it returns expr2. Take note that IFNULL() returns a numeric or string value, depending on the context in which it is used. I haven’t used it for other data types yet but I reckon it would have the same results. That is to return the same data type as that of expr1. Another important thing to remember is that expr1 and expr2 should have the same data type

2 Thoughts on “Oracle NVL Equivalent in MySQL

  1. If you want empty string to be null as well you could use:

    update mytable set
    name = ifnull(nullif(‘newval’,”), name)
    where id=1

    ps. also, when newval are only spaces, nullif also gives null as a result

Post Navigation