Задать вопрос
@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"
  • Вопрос задан
  • 69 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
@Porohovnik Автор вопроса
я дурак,вопрос решён(назвал функцию как системную,поэтому и неработало)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Такой запрос должен работать.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы