powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Где ошибка в коде создания функции?
9 сообщений из 9, страница 1 из 1
Где ошибка в коде создания функции?
    #39109323
Здравствуйте!

Есть такой простой код создания хранимой функции:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
DROP FUNCTION IF EXISTS bng347_get_simple_price;
DELIMITER //
CREATE FUNCTION bng347_get_simple_price(price decimal(15,6))
RETURNS INT(1)
BEGIN
	RETURN CAST(price as INT(1));
END//
DELIMITER ;


Возвращает ошибку. Скажите, пожалуйста, почему?

желаю Вам счастья
...
Рейтинг: 0 / 0
Где ошибка в коде создания функции?
    #39109325
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борис Гаркун,

Текст ошибки?
...
Рейтинг: 0 / 0
Где ошибка в коде создания функции?
    #39109326
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INT(1));
END' at line 4
MYSQL 5.5
...
Рейтинг: 0 / 0
Где ошибка в коде создания функции?
    #39109330
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борис Гаркун,

В функции CAST() типы обозначаются иначе. Среди них нет INT(1).
...
Рейтинг: 0 / 0
Где ошибка в коде создания функции?
    #39109332
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, насколько я помню, нет необходимости явно кастовать возвращаемое значение. Его тип и так уже задан в заголовке функции.
...
Рейтинг: 0 / 0
Где ошибка в коде создания функции?
    #39109335
Спасибо!
Вот так работает
DROP FUNCTION IF EXISTS bng347_get_simple_price;
DELIMITER //
CREATE FUNCTION bng347_get_simple_price(price decimal(15,6))
RETURNS INTEGER
BEGIN
RETURN price;
END//
DELIMITER ;
...
Рейтинг: 0 / 0
Где ошибка в коде создания функции?
    #39109390
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftБорис Гаркун,

В функции CAST() типы обозначаются иначе. Среди них нет INT(1).

На самом деле эти скобочки с числами вообще не нужно использовать возле интегральных типов данных типа INT.
Они не нужны от слова "совсем". Они ничего не меняют.
...
Рейтинг: 0 / 0
Где ошибка в коде создания функции?
    #39109627
Спасибо.

Мне осталось не понятным только, почему ни CAST, ни CONVERT я так и не смог использовать в теле хранимой функции. Ошибся в синтаксисе или они не допустимы в хранимой функции?
...
Рейтинг: 0 / 0
Где ошибка в коде создания функции?
    #39110545
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борис Гаркун,
|ошибся в синт., ибо можно...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Где ошибка в коде создания функции?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]