在mysql中对字母数字字符串执行比较(<=,> =)操作

时间:2018-07-02 10:26:54

标签: mysql

我有一个名为“ Test”的表,其中包含以下数据

Name

A-00011
A-00012
A-00102
A-00202

我想获取所有'<150'的记录。

因此任何人都可以帮助通过查询对mysql中的字母数字字符串执行 <= > = 操作。

2 个答案:

答案 0 :(得分:1)

可以通过子字符串删除前两个字符,然后将其转换为unsigned int来完成:

update 
   Series A, 
   Model B, 
   Masterdata C 
set 
   C.seriesid = A.seriesid 
where 
   C.modelid=B.ModelId and 
   A.series = SUBSTRING_INDEX(B.Model,' - ', 1); 

您的查询将类似于:

SELECT CAST(SUBSTRING("A-00012", 3) AS UNSIGNED)

答案 1 :(得分:0)

SELECT *
       FROM test
       WHERE name < 'A-00150';

应该工作。 (假设这就是您所说的“'<150'”,并且所有名称都遵循该模式。)