SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 31.10.2011 18:26:37

demiurg
Завсегдатай
Зарегистрирован: 08.05.2011
Сообщений: 46

Как задать вывод в формате с фиксированной точкой

Есть ли в MySQL формат с фиксированной точкой?

Есть данные хранятся типом Varchar. Для вывода пользователю использую такой запрос

select vol1/10 where device_id=1;

Т.е. происходит так 0001234567/10=123456.7  - всёбы хорошо, но 0001234560/10=123456 , а для облегчения восприятия хотелось бы сделать 123456.0  -

Можно ли так сделать?

Неактивен

 

#2 31.10.2011 18:37:55

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Как задать вывод в формате с фиксированной точкой

mysql> select round(0001234560/10,1);
+------------------------+
| round(0001234560/10,1) |
+------------------------+
|               123456.0 |
+------------------------+
1 row in set (0.00 sec)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 31.10.2011 18:46:43

demiurg
Завсегдатай
Зарегистрирован: 08.05.2011
Сообщений: 46

Re: Как задать вывод в формате с фиксированной точкой

Во, работает, спасибо.
А я тут ещё нарыл
CAST(vol1/10 as DECIMAL(8,1))
Что оптимальней в плане скорости ? Вроде и то и другое одинаково работает...

Неактивен

 

#4 01.11.2011 15:07:56

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Как задать вывод в формате с фиксированной точкой

Если речь о производительности CAST vs DECIMAL, то разница несущественна.

Вообще на производительность решающее влияние оказывает то, как происходит доступ к данным (используются ли индексы, насколько много данных читается).
Если MySQL данные уже прочитала, сделать с ними что-то - это обычно очень быстро.

Неактивен

 

#5 01.11.2011 16:08:27

demiurg
Завсегдатай
Зарегистрирован: 08.05.2011
Сообщений: 46

Re: Как задать вывод в формате с фиксированной точкой

Спасибо, учту.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson