MySQL의 함수 IS_IN_ENUM('value', 'val1', 'val2', 'val3')
을 생성하려고하는데 'value'가 ('val1', 'val2', 'val3')에 있으면 true를 반환합니다. 나는 SELECT 'value' IN ('val1', 'val2', 'val3')
을 할 수 있다는 것을 알고 있지만 그러한 기능을 만드는 법을 배우기를 원하기 때문에 덜 복잡합니다. 나는 당신에게 예를동적 인수 개수로 MySQL 저장 함수 만들기
은 다음 ADD
기능을 고려 : 나는 SELECT my_add(1, 1)
을 할 경우에 나는 2를 얻을
CREATE FUNCTION my_add (
a DOUBLE,
b DOUBLE
)
RETURNS DOUBLE
BEGIN
IF a IS NULL THEN
SET a = 0;
END IF;
IF b IS NULL THEN
SET b = 0;
END IF;
RETURN (a + b);
END;
을 (와우!). 내가 전화를 할 수 있도록이 기능을 향상시킬 수있는 방법
:
이SELECT my_add(1, 1); -- 2
SELECT my_add(1, 1, 1); -- 3
SELECT my_add(1, 1, 1, 1); -- 4
SELECT my_add(1, 1, 1, 1, 1, 1, .....); -- n
한 가지 질문에 하나의 매개 변수로 여러 매개 변수를 전달할 수 없습니까? 'MYFUNCT ((''1 ','2 ','3 '))'? –
MYFUNCT ("1,2,3")'와 같은 SET을 전달한 다음 SET 준비 기능으로 재생할 수 있습니다. 그러나 그것은 정말로 친근하지 않습니다. –