powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как рассчитать формулу созданную с помощью concat?
9 сообщений из 9, страница 1 из 1
Как рассчитать формулу созданную с помощью concat?
    #38908346
chipset86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть простейшая конструкция.
SELECT concat(2,'+2')

Что сделать что бы MySQL понял её как формулу?
Пробовал через переменную.

SELECT @fr:=concat(2,'+2'), round(@fr,2);
2+2 2.000 - игнорирует +2
SELECT @fr:=concat(2,+2), round(@fr,2) ;
22 22.000 - игнорирует +

Пробовал приводить к типам, тоже не получилось.
Чувствую решение где то рядом и должно быть простым, а найти не могу.
Прошу помощи.
...
Рейтинг: 0 / 0
Как рассчитать формулу созданную с помощью concat?
    #38908357
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chipset86Чувствую решение где то рядом и должно быть простымТак оно и есть :)
Только оно отрицательное, т.е. никак.

Если опишите саму задачу, то, возможно, получится что-то подсказать.
Например, могут помочь prepared statements.
...
Рейтинг: 0 / 0
Как рассчитать формулу созданную с помощью concat?
    #38908471
chipset86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftТолько оно отрицательное, т.е. никак.

Ну дела!!!!

Получается, если я буду хранить формулы в БД, в поле типа char(), средствами MySQL рассчитать их будет невозможно?

У меня считалось все 1 запросом, а теперь надо внедрить в него данные формулы,
если я не могу добавить кусок этой формулы к цифре, значит мне надо её посчитать отдельно, или сделать из формулы множитель .

Попробую решить своими средствами.

За предложение помощи, спасибо.
...
Рейтинг: 0 / 0
Как рассчитать формулу созданную с помощью concat?
    #38908554
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chipset86Получается, если я буду хранить формулы в БД, в поле типа char(), средствами MySQL рассчитать их будет невозможно?
Ну тебе ж указали, что
miksoftмогут помочь prepared statements.
...
Рейтинг: 0 / 0
Как рассчитать формулу созданную с помощью concat?
    #38908566
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну еще можно попробовать написать синтаксический анализатор на SQL, но выглядеть это будет чудовищно.

Я бы предложил разбить задачу на два этапа:
1) Генерация SQL-запроса. В т.ч. и с использованием выражений, хранящихся в БД.
2) Выполнение этого SQL-запроса. Если первый пункт сделан на хрнимых процедурах, то с помощью prepared statements. Если первый пункт сделан на клиенте, то просто вызовом запроса на клиенте.
...
Рейтинг: 0 / 0
Как рассчитать формулу созданную с помощью concat?
    #38908847
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chipset86,

Смотря какие "формулы" вы храните в таблицах и ЗАЧЕМ их надо совать именно в concat().

Как уже сказали - чем подробнее описана задача - тем выше шансы на помощь.

Показывайте что храните, КАК использовали, что хотите получить (типа надо чтобы получилось так вот и так).
...
Рейтинг: 0 / 0
Как рассчитать формулу созданную с помощью concat?
    #38909266
chipset86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему надо решить быстро, сделал из этих формул множитель и все.

А вообще формула получается в результате сравнения единиц измерения товара.

шт - 100шт = %1*100

%1 - подставляются цены товара в разных регионах.
Соответственно формула не всегда такая простая и не всегда с умножением.

Раньше эта конструкция использовалась уже в приложении после получения данных из БД.
Использовать её в запросе не получилось.

Конечно это все кратко, но смысл я думаю понятен.
Спасибо всем за участие, свою проблему я решил.

p.s. киньте ссылку на инфу по prepared statements, странно что в русскоязычных мануалах MySQL я этого не нашел.
...
Рейтинг: 0 / 0
Как рассчитать формулу созданную с помощью concat?
    #38909271
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chipset86p.s. киньте ссылку на инфу по prepared statements, странно что в русскоязычных мануалах MySQL я этого не нашел.Странно, что:
1)кто-то читает русскоязычные мануалы по MySQL
2)этот же кто-то не может набрать "mysql prepared statements" в яндугле и открыть первую или вторую ссылку (ту, что ведёт на оф.сайт)
...
Рейтинг: 0 / 0
Как рассчитать формулу созданную с помощью concat?
    #38909319
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chipset86киньте ссылку на инфу по prepared statements
http://dev.mysql.com/doc/refman/5.6/en/sql-syntax-prepared-statements.html
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как рассчитать формулу созданную с помощью concat?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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