Код ошибки: 1241 Операнд должен содержать 1 столбец
Создать функцию в MySQL, когда вызов функции, я получил "Код ошибки: 1241 операнд должен содержать 1 столбца (ов)", как решить эту ошибку
drop function if exists age;
DELIMITER //
CREATE FUNCTION age (Dob date,Username varchar(30))
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE age int;
set age=(SELECT *, YEAR(CURDATE()) - YEAR(Dob) FROM per_det where username=Username);
return age;
END;//
delimiter ;
select * from per_det;
я получил "Код ошибки: 1241
Операнд должен содержать 1 столбец (столбцы) "как решить ошибку
1 ответ
Вы выбираете несколько столбцов в SET
подзапрос, в то время как age
ожидает быть единым INT
значение. Вы не хотите *
Вот:
set age=(SELECT YEAR(CURDATE()) - YEAR(Dob) FROM per_det where username=Username);