我有一个 MySql 数据库,其中有一个名为 clar 的字段,其数据值为:SI2、SI1、VS2、VS1、VVS2、VVS1、IF、FL
这是一个从最低:SI2 到最高:FL 的等级
我无法更改数据库表中的数据格式,即将值更改为数值。例如:SI2 = 1 FL = 8
我想用以下内容查询表:
SELECT * FROM `table` WHERE `clar` BETWEEN 'SI2' AND 'FL'
获取 SI2 和 FL 之间的值范围。
我到底该怎么做?
显然上面的查询给了我一个不正确的数据范围,因为它既不是字母也不是数字。
示例行:
field1 field2 field3 field4 clar field6
-----------------------------------------------
500569 BR 0.120 E VS2 0.00
500110 BR 0.120 G SI2 0.00
500549 BR 0.120 F SI1 0.00
最佳答案
SELECT * FROM `table`
WHERE FIELD (`clar`, 'SI2','SI1','VS2','VS1','VVS2','VVS1','IF','FL')
BETWEEN 1 AND 8
如果您想要不同的范围,您只需更改BETWEEN
条件中的数值。例如,要获取得分在 VS2
和 IF
之间的行,您可以指定 BETWEEN 3 and 7
。
关于mysql - 非数字或字母 db 值的值范围查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20404316/