我有一个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 `clar` in ('SI2','SI1','VS2','VS1','VVS2','VVS1','IF','FL')

10-01 05:22