2016-11-02 4 views
0

Для функции определения пользователя в MYSQLMySQL: функция определения пользователя

Я передаю один параметр в udf (a int);

если a равно NULL return 2.0; еще вернуть 3,0

`DELIMITER ! 
CREATE FUNCTION return val(a INTEGER) RETURNS NUMERIC(10,2) 
BEGIN 
    If (isNULL(a)) THEN return 2.0 
    ELSE RETURN 3.0; 
    END IF; 
END! 

DELIMITER ;` 

Является ли это правильный способ сделать это?

+0

Да, по-видимому, не существует вызов функции 'isNull', так как я могу сказать о ли' a' является NULL – wrek

+0

Так что я могу изменить его на 'if (SELECT a IS NULL) THEN RETURN 2.0' – wrek

+0

как насчет замены isNull на ifNull? – bogzy

ответ

1

Вы также можете попробовать это с помощью сазе:

CASE WHEN a IS NULL or a = '' 
    then '2.0' 
    else '3.0' 
END 
Смежные вопросы