Задавайте вопросы, мы ответим
Вы не зашли.
пробаю создать функцыю с помощью create function дает ошибку(код и ошибка ниже)
use my_database;
DELIMITER //
CREATE FUNCTION convert(a_IpStr varchar(45))
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE l_IpNum INT DEFAULT 0;
DECLARE l_IpStr varchar(45);
SET l_IpStr = a_IpStr;
IF l_IpStr is NOT NULL THEN
WHILElength(l_IpStr) > 0 DO
IF instr(l_IPStr,'.') > 0 THEN
SET l_IpNum = l_IpNum * 256 + to_number(substr(l_IpStr,1,instr(l_IpStr,'.') - 1));
SET l_IpStr = substr(l_IpStr,instr(l_IpStr,'.') + 1);
ELSE
SET l_IpNum = l_IpNum * 256 + to_number(l_IpStr);
SET l_IpStr = '';
END IF;
END DO;
END IF;
RETURN l_IpNum;
END//
Неактивен
Что говорит select version() ?
Неактивен
select version()\G
version(): 5.5.8-log
Неактивен
Сами нашел
вместо end DO; надо end while
вместо to_number(substr(IpStr,1,instr(IpStr,'.') - 1)) надо cast(substr(IpStr,1,instr(IpStr,'.') - 1) as unsigned)
и
вместо to_number(IpStr) надо cast(IpStr as unsigned)
Неактивен
и еще l_IpStr я поменял на IpStr
Неактивен