在MySQL中,如果你想要按照字符串中包含的数字进行排序,你可以使用CAST
或CONVERT
函数将字符串转换为整型,然后进行排序。这里有一个例子:
假设你有一个表my_table
,其中有一个列my_column
,该列包含了字符串,这些字符串中混杂了数字。
sqlSELECT * FROM my_table ORDER BY CAST(my_column AS SIGNED INTEGER);
或者使用CONVERT
函数:
sqlSELECT * FROM my_table ORDER BY CONVERT(my_column, SIGNED INTEGER);
这两个语句都会按照my_column
列中的数字来对结果进行排序。如果字符串不是纯数字格式,这些函数会尝试从字符串的开始处解析数字,直到遇到非数字字符。
例如
SELECT
a.id,
a.node_name,
a.node_id,
a.remark,
a.org_id
FROM
audit_node a
WHERE a.audit_process_id = '1796479295783297026'
a.node_id ASC
mysql字段 字符串类型转为数字 排序
SELECT
a.id,
a.node_name,
a.node_id,
a.remark,
a.org_id
FROM
audit_node a
WHERE a.audit_process_id = '1796479295783297026'
ORDER BY
CAST(a.node_id AS SIGNED) ASC