= Сообщение: 5267 из 8314 ========================================= RU.LINUX = От : Vladislav Vetrov 2:5020/2140.152 18 Oct 18 23:34:06 Кому : Semen Panevin 18 Oct 18 23:34:06 Тема : Чем чревато хранить цифры в char-полях mysql? FGHI : area://RU.LINUX?msgid=2:5020/2140.152@Fidonet.org+5bc8f1d4 На : area://RU.LINUX?msgid=2:5025/121+5bc81883 = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.LINUX?msgid=2:5025/121+5bcae01e ============================================================================== Hello Semen!
18 окт 18 08:20, you wrote to me:
VV>> Hо оператор select работает нормально (в поле name char-текст "55.5"): SP> VV>> SELECT * FROM `new_table` WHERE name > 54.2; SP> VV>> Ответ: VV>> id name VV>> 1 55.5 SP> SP> А попробуй ради спортивного интереса SP> select * from new_table where name > 55.45
mysql> SELECT * FROM worker;
+-----+----------+-----------+--------+ | id | name | dept | salary | +-----+----------+-----------+--------+ | 100 | Dima | Sales | 5000 | | 200 | AndreyEx | IT | 5.500 | | 300 | Boris | IT | 7.0 | | 400 | Anna | Marketing | 9.5 | | 500 | Anton | IT | 951 | | 600 | Vasya | IT | 70 | +-----+----------+-----------+--------+
mysql> select * from worker where name > 5;
Empty set, 6 warnings (0,00 sec)
mysql> select * from worker where name < 5;
+-----+----------+-----------+--------+ | id | name | dept | salary | +-----+----------+-----------+--------+ | 100 | Dima | Sales | 5000 | | 200 | AndreyEx | IT | 5.500 | | 300 | Boris | IT | 7.0 | | 400 | Anna | Marketing | 9.5 | | 500 | Anton | IT | 951 | | 600 | Vasya | IT | 70 | +-----+----------+-----------+--------+ 6 rows in set, 6 warnings (0,00 sec)
mysql> select * from worker where name = 0;
+-----+----------+-----------+--------+ | id | name | dept | salary | +-----+----------+-----------+--------+ | 100 | Dima | Sales | 5000 | | 200 | AndreyEx | IT | 5.500 | | 300 | Boris | IT | 7.0 | | 400 | Anna | Marketing | 9.5 | | 500 | Anton | IT | 951 | | 600 | Vasya | IT | 70 | +-----+----------+-----------+--------+
mysql> select * from worker where name > 0;
Empty set, 6 warnings (0,00 sec)
mysql> select * from worker where name = 1;
Empty set, 6 warnings (0,00 sec)
Всем, кто хочет попробовать самостоятельно:
mysql -u root -p create database test; use test;
### Создаём таблицу: create table worker ( id INT AUTO_INCREMENT PRIMARY KEY, name varchar(20), dept varchar(10), salary varchar(10) );
### Hаполняем данными: insert into worker values(100,'Dima','Sales','5000'); insert into worker values(200,'AndreyEx','IT','5.500'); insert into worker values(300,'Boris','IT','7.0'); insert into worker values(400,'Anna','Marketing','9.5'); insert into worker values(500,'Anton','IT','951'); insert into worker values(600,'Vasya','IT','70');
Vladislav
... -= - <<< - >>> - =- --- GoldED+/LNX 1.1.5-b20170303 by ASA * Origin: Love all, trust a few, do wrong to none (2:5020/2140.152)