在MySql查询中按字母顺序列出项目

时间:2015-06-24 15:02:27

标签: mysql

我在MySql字段中的项目格式为:FK1 FK2 FK3,最多为FK1000。发生的事情是当我运行UPDATE查询时,如下所示,它会更新FK10FK100等项目。我试图使用between语句将项目从FK1更新为FK20。为什么还要更新项FK101FK102

UPDATE `boxes`
SET intake_date = '2015-12-17 10:09:11'
WHERE customer = 'demo'
AND custref BETWEEN 'fk1' AND 'fk20';

非常感谢

1 个答案:

答案 0 :(得分:1)

试试这个:

UPDATE `boxes` SET intake_date = '2015-12-17 10:09:11' WHERE customer = 'demo' AND cast(substring(custref, 3) AS SIGNED) BETWEEN 1 AND 20

它剥离了前导FK,并转换为整数,因此顺序正确。