如何在mysql中使用运算符之间从表中检索记录

时间:2013-05-29 11:48:42

标签: mysql sql

大家

我想根据以下查询从表(价格)中检索记录。我的表是

+-----------+
| pprice    |
+-----------+
| 10 lakhs  |
| 11 lakhs  |
| 12 crores |
| 13 lakhs  |
| 15 crores |
| 16 lakhs  |
+-----------+

我正在使用以下查询

select * from price where pprice between '10 lakhs' and '20 lakhs';

但它返回以下结果

+-----------+
| pprice    |
+-----------+
| 10 lakhs  |
| 11 lakhs  |
| 12 crores |
| 13 lakhs  |
| 15 crores |
| 16 lakhs  |
+-----------+

我的查询中有什么问题。请给我回复。

3 个答案:

答案 0 :(得分:1)

如果你正在处理相等的幅度,例如你的例子中的十字架,你可以这样做:

select *
  from price
 where pprice between '10 lakhs' and '20 lakhs'
   and pprice like '__ lakhs';

答案 1 :(得分:0)

当我们比较整数时,我们正在比较他们的numerical值;

即。 10> 6。

当我们比较字符串时,我们正在使用alphabetical比较;

即。 '10' < '6'

SEE HERE

答案 2 :(得分:0)

当你自动转换格式时,你的mySql不知道第一个空格的数字部分,并且你的mySql不知道十字架和crores。然后:结果非常合适!

除了这里的设计模式(作为数据字段的一部分,标准化,......),十字架与千万卢比之间的关系是什么? mysql应该怎么知道1亿卢比大于1万卢比(我不知道这是什么)。