SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 28.02.2020 16:29:01

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

В запросах >= равно не попадает

Делаю следующий запрос

SELECT * FROM table WHERE `sum`>='2.3' and `sum`>='1.02'

При этом в запросе sum с 1.03 попадает в результат, а 1.02 не попадает.
Подскажите, пожалуйста, как исправить и включить в запрос и указанное число.


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#2 28.02.2020 17:19:52

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

Re: В запросах >= равно не попадает

А покажите

show create table `ИМЯ_ТАБЛИЦЫ`;

И какой результат будет у
SELECT * FROM table WHERE `sum`>=2.3 and `sum`>=1.02;

?


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

Неактивен

 

#3 28.02.2020 18:23:27

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: В запросах >= равно не попадает

CREATE TABLE `table` (
    `sum` float NOT NULL,
    `id` int(11) NOT NULL AUTO_INCREMENT,
  `datetime` datetime NOT NULL
 
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=52 DEFAULT CHARSET=utf8


В результате попадают все записи от 1.03 до 2.3, включительно, кроме 1.02, а надо чтобы 1.02 тоже попадал.

Отредактированно platedz (28.02.2020 18:23:41)


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#4 29.02.2020 01:50:05

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

Re: В запросах >= равно не попадает

Тут двоичная арифметика начинает отрабатывать, похоже - нельзя сравнивать на строгое равенство тип float. сделаете decimal вместо float - всё будет окей.

И еще - условие

WHERE `sum`>='2.3' and `sum`>='1.02'

несколько странное, не находите? имхо достаточно второй части (то, что после and) ;-)


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

Неактивен

 

#5 29.02.2020 08:13:07

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: В запросах >= равно не попадает

Спасибо. Попробуют
`sum`<='2.3' and `sum`>='1.02'


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#6 29.02.2020 16:26:09

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

Re: В запросах >= равно не попадает

float поменяйте на decimal, это главное.


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

Неактивен

 

Board footer

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