PHP Code:
DROP FUNCTION IF EXISTS `foo`;
DELIMITER $$$
CREATE FUNCTION `foo`(n INT) RETURNS VARCHAR(100) NO SQL
BEGIN
DECLARE ascii, r INT;
SET r = FLOOR(RAND() * 35);
IF r < 10 THEN
SET ascii = r + 48;
ELSE
SET ascii = r + 65;
END IF;
RETURN ascii;
END $$$
DELIMITER ;
Based on the
manual, setting a variable without using the SET command should work.
But I cant seem to do
ascii = r + 48; - never works. I have to use SET.
Why do I need to use the SET keyword to make it work ?
PHP Code:
DROP FUNCTION IF EXISTS `foo`;
DELIMITER $$$
CREATE FUNCTION `foo`(n INT) RETURNS VARCHAR(100) NO SQL
BEGIN
DECLARE ascii, r INT;
r = FLOOR(RAND() * 35);
IF r < 10 THEN
ascii = r + 48;
ELSE
ascii = r + 65;
END IF;
RETURN ascii;
END $$$
DELIMITER ;
MySQL 5.0.45-community-nt