@Porohovnik

Как использовать свои функции в конструкторе SELECT?

Допустим у меня есть функция которую я создал,например POINT(),которая возвращает количество знаков после запятой у конкретного числа(например 5.7770->3)
И мне надо выполнить примерно вот такой запрос:
SELECT название_столбца1, название_столбца2 FROM название_таблицы WHERE POINT(название_столбца1)*название_столбца2<5

Как можно переписать данный запрос чтобы он заработал?

Вот код функции:
CREATE DEFINER=`humanz`@`localhost` FUNCTION `POINT`(`AUTHOR` DOUBLE) RETURNS INT(11) NOT DETERMINISTIC MODIFIES SQL DATA SQL SECURITY DEFINER BEGIN
SET @AUTHOR =AUTHOR;
SET @G=(CEIL(@AUTHOR)-1);
SEt @G=@AUTHOR-@G;
SEt @G =ROUND(@G,8);
SEt @G=@G*10;
WHILE(@G!=(CEIL(@G))) DO
SET @G=@G*10;
SEt @G =ROUND(@G,8);
END WHILE;
RETURN @G;
END


вот сообщение ошибки:
"#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около ')=5 LIMIT 0, 25' на строке 1"
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
@Porohovnik Автор вопроса
я дурак,вопрос решён(назвал функцию как системную,поэтому и неработало)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Такой запрос должен работать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы