execute('select ifnull(c1, ?) as c1, ifnull(c2, ?) as c2, ifnull(c3, ?) from table t1', '<not dfined>', '<not defined>', '<not defined>') vs execute('select ifnull(c1, @1) as c1, ifnul(c1, @1) as c2, ifnul(c3, @1) as c3 from table t1', '<not defined>')