Sas*_*ant 1 mysql select ascii max sql-order-by
我有一种情况,我有一个列名称c_id,它在varchar中,但包含整数或空值.(我无法更改数据类型,因为它已经像这样使用了很长时间,在我的项目中)
我的问题是,每当我尝试按照我的表格对该列进行排序时,它会向我显示损坏的结果,即使我搜索最大值,也不会根据其大小给出最大值.
我想知道它是否在内部以ASCII格式存储,但我不太确定.请告诉我这是为什么会发生这种情况.
谢谢.
尝试使用CAST功能:
SELECT CAST(c_id AS UNSIGNED INTEGER) id, field1, field2
FROM your_table
ORDER BY id
Run Code Online (Sandbox Code Playgroud)
要么
SELECT
CASE
WHEN c_id IS NULL THEN 0;
ELSE CAST(c_id AS UNSIGNED INTEGER);
END AS id
, field1, field2
FROM your_table
ORDER BY id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
862 次 |
| 最近记录: |