|
|
|
Как рассчитать формулу созданную с помощью concat?
|
|||
|---|---|---|---|
|
#18+
Есть простейшая конструкция. 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 - игнорирует + Пробовал приводить к типам, тоже не получилось. Чувствую решение где то рядом и должно быть простым, а найти не могу. Прошу помощи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2015, 13:52:56 |
|
||
|
Как рассчитать формулу созданную с помощью concat?
|
|||
|---|---|---|---|
|
#18+
chipset86Чувствую решение где то рядом и должно быть простымТак оно и есть :) Только оно отрицательное, т.е. никак. Если опишите саму задачу, то, возможно, получится что-то подсказать. Например, могут помочь prepared statements. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2015, 13:57:20 |
|
||
|
Как рассчитать формулу созданную с помощью concat?
|
|||
|---|---|---|---|
|
#18+
miksoftТолько оно отрицательное, т.е. никак. Ну дела!!!! Получается, если я буду хранить формулы в БД, в поле типа char(), средствами MySQL рассчитать их будет невозможно? У меня считалось все 1 запросом, а теперь надо внедрить в него данные формулы, если я не могу добавить кусок этой формулы к цифре, значит мне надо её посчитать отдельно, или сделать из формулы множитель . Попробую решить своими средствами. За предложение помощи, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2015, 14:44:36 |
|
||
|
Как рассчитать формулу созданную с помощью concat?
|
|||
|---|---|---|---|
|
#18+
chipset86Получается, если я буду хранить формулы в БД, в поле типа char(), средствами MySQL рассчитать их будет невозможно? Ну тебе ж указали, что miksoftмогут помочь prepared statements. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2015, 15:15:17 |
|
||
|
Как рассчитать формулу созданную с помощью concat?
|
|||
|---|---|---|---|
|
#18+
Ну еще можно попробовать написать синтаксический анализатор на SQL, но выглядеть это будет чудовищно. Я бы предложил разбить задачу на два этапа: 1) Генерация SQL-запроса. В т.ч. и с использованием выражений, хранящихся в БД. 2) Выполнение этого SQL-запроса. Если первый пункт сделан на хрнимых процедурах, то с помощью prepared statements. Если первый пункт сделан на клиенте, то просто вызовом запроса на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2015, 15:25:06 |
|
||
|
Как рассчитать формулу созданную с помощью concat?
|
|||
|---|---|---|---|
|
#18+
chipset86, Смотря какие "формулы" вы храните в таблицах и ЗАЧЕМ их надо совать именно в concat(). Как уже сказали - чем подробнее описана задача - тем выше шансы на помощь. Показывайте что храните, КАК использовали, что хотите получить (типа надо чтобы получилось так вот и так). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2015, 17:27:32 |
|
||
|
Как рассчитать формулу созданную с помощью concat?
|
|||
|---|---|---|---|
|
#18+
Проблему надо решить быстро, сделал из этих формул множитель и все. А вообще формула получается в результате сравнения единиц измерения товара. шт - 100шт = %1*100 %1 - подставляются цены товара в разных регионах. Соответственно формула не всегда такая простая и не всегда с умножением. Раньше эта конструкция использовалась уже в приложении после получения данных из БД. Использовать её в запросе не получилось. Конечно это все кратко, но смысл я думаю понятен. Спасибо всем за участие, свою проблему я решил. p.s. киньте ссылку на инфу по prepared statements, странно что в русскоязычных мануалах MySQL я этого не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 06:36:20 |
|
||
|
Как рассчитать формулу созданную с помощью concat?
|
|||
|---|---|---|---|
|
#18+
chipset86p.s. киньте ссылку на инфу по prepared statements, странно что в русскоязычных мануалах MySQL я этого не нашел.Странно, что: 1)кто-то читает русскоязычные мануалы по MySQL 2)этот же кто-то не может набрать "mysql prepared statements" в яндугле и открыть первую или вторую ссылку (ту, что ведёт на оф.сайт) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 06:58:45 |
|
||
|
Как рассчитать формулу созданную с помощью concat?
|
|||
|---|---|---|---|
|
#18+
chipset86киньте ссылку на инфу по prepared statements http://dev.mysql.com/doc/refman/5.6/en/sql-syntax-prepared-statements.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 08:53:19 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38908346&tid=1833418]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 313ms |

| 0 / 0 |
