Quando cerco di creare funzioni memorizzate con lo stesso nome, ma firme diverse:Overload di MySQL memorizzati funzioni
CREATE FUNCTION `max`(a INT, b INT) RETURNS INT
BEGIN
IF a > b THEN RETURN a; ELSE RETURN b; END IF;
END
CREATE FUNCTION `max`(a DATE, b DATE) RETURNS DATE
BEGIN
IF a > b THEN RETURN a; ELSE RETURN b; END IF;
END
MySQL mi dà un errore:
FUNCTION max already exists
Devo veramente dare nomi distinti alle funzioni come max_tinyint
, max_int
, max_date
, max_datetime
, ecc.?
Ancora più semplice sarebbe se potessi creare una funzione che accetta tipi arbitrari come parametri.
La risposta snarky sarebbe che MySQL ha già una funzione MAX. ... –
Finalmente !? Da quando? (Non intendi la funzione aggregata, vero? È tutta un'altra cosa.) – AndreKR
Beh, ho inteso la funzione di aggregazione, ma ha una funzione più grande –