[ОТВЕТИТЬ]
Опции темы
05.02.2015 07:05  
aldemko
Доброго времени суток
Помогите с запросом UPDATE
толи гуглил плохо толи вписывал плохо. меняет значение только первой строки а не всех значений в колонке
Если мы знаем название таблицы, название столбца, а в этом столбце много записей (цифровых) и все значения которые там есть нужно увеличить например на 5%
Спасибо
 
05.02.2015 07:45  
OlegON
Покажи запрос, который меняет значение только первой строки. Странное что-то.
В штатном клиенте делаешь? Он в конце пишет, обычно, сколько строк изменено и т.п.
 
05.02.2015 08:08  
aldemko
Я в навикате делал лайт
Запрос наподобии такого
UPDATE Таблица
SET price = price+5%
Сейчас вообще ругаться начал
 
05.02.2015 08:22  
Ferus
Цитата:
Сообщение от aldemko
Я в навикате делал лайт
Запрос наподобии такого
UPDATE Таблица
SET price = price+5%
Сейчас вообще ругаться начал
UPDATE Таблица
SET price = price*1,05


Проверил работает на всю таблицу
 
"Спасибо" Ferus от:
05.02.2015 08:24  
aldemko
Я уже тоже понял что надо умножать было а не плюсики ставить
спасибо
 
19.08.2015 04:38  
aldemko
Доброго времени суток.
По форуму искал округление в mysql
не нашел, или не так искал.
как добавить к числу процент, я уже понял, теперь нужно было округлить полученные значения до 100
к примеру было 3596 а стало 3600
решение нашлось в простом запросе.
Код:
UPDATE table SET price=CEIL(price/100)*100
может есть другие способы, но этот тоже работает.
вдруг пригодиться кому
 
19.08.2015 07:02  
sh00r00p
ROUND работает в MySQL?
 
19.08.2015 08:44  
Micle
Цитата:
Сообщение от sh00r00p
ROUND работает в MySQL?
работает
Код:
mysql> SELECT ROUND(-1.23);
        -> -1
mysql> SELECT ROUND(-1.58);
        -> -2
mysql> SELECT ROUND(1.58);
        -> 2
mysql> SELECT ROUND(1.298, 1);
        -> 1.3
mysql> SELECT ROUND(1.298, 0);
        -> 1
mysql> SELECT ROUND(23.298, -1);
        -> 20
 
19.08.2015 08:51  
Павел Сосновских
ceil(),ceiling() - округляет вверх
floor() - округляет вниз
round() - округляет в ближайшую сторону
truncate() - обрезает число до указанного разряда

у всех функций можно указать второй параметр(у truncate он обязателен),
который указывает разряд, до которого округлять: 0 - до целых, 1 - до десятых, 2 - до сотых,...
-1 - до 10, -2 - до 100

в указанном случае нужно было написать ceil(price,-2)

также см. доку или по-русски
 
"Спасибо" Павел Сосновских от:
 
Опции темы



Часовой пояс GMT +3, время: 23:11.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.