MySQL:比较包含字母和数字的混合字段

MySQL:比较包含字母和数字的混合字段,mysql,Mysql,我在mysql数据库中有一个字段,其中包含如下数据: Q16 Q32 L16 Q4 L32 L64 Q64 Q8 L1 L4 Q1 等等。我想做的是,把所有以Q开头的值都取出来,这很容易: field_name LIKE 'Q%' 但是我想过滤,比如说,所有的值都有一个大于32的数字。因此,我应该只得到'Q64',然而,我也得到了Q4,Q8等等,因为我将它们作为字符串进行比较,所以只有3和相应的数字进行比

我在mysql数据库中有一个字段,其中包含如下数据:

    Q16
    Q32
    L16
    Q4
    L32
    L64
    Q64
    Q8
    L1
    L4
    Q1
等等。我想做的是,把所有以Q开头的值都取出来,这很容易:

field_name LIKE 'Q%'
但是我想过滤,比如说,所有的值都有一个大于32的数字。因此,我应该只得到'Q64',然而,我也得到了Q4,Q8等等,因为我将它们作为字符串进行比较,所以只有3和相应的数字进行比较,并且这些数字通常被视为单个数字,而不是整数。 由于这非常有意义,我正在努力找到一个解决方案,来解决如何在不从数据库中取出所有数据、剥离Qs并将其解析为整数的情况下执行此操作


我确实使用了CAST操作符,但是,它仅在值存储为字符串且仅包含数字时才起作用。如果其中有另一个字符,解析将失败。

从字符串中提取数字,并将其转换为具有
*1
cast

select * from your_table
where substring(field_name, 1, 1) = 'Q'
and substring(field_name, 2) * 1 > 32