MySQL之数字字符串按照数字排序

Posted on   jiaoqing。  阅读(852)  评论(0编辑  收藏  举报

方法一:


TO_NUMBER(): 
cast( '123 '   as  UNSIGNED  INTEGER) 

cast('11'  as  DECIMAL(10,2))

例如:

SELECT * FROM 表名 ORDER BY cast(字段名as SIGNED INTEGER) ;

方法二:

在数据里面定义的是varchar类型,实际存放的是Int类型的数据,将字段*1或者+0可以将MySQL字符串字段按数值排序 :

select * from 表名 where 1 order by 字段名*1 desc; 

select * from 表名where 1 order by 字段名+0 desc;

 

 

ps:数字转字符串:

TO_CHAR(): 
CAST(123   AS  CHAR(3)) 

 
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
历史上的今天:
2019-01-07 判断IOS、Android访问

随笔 - 287, 文章 - 0, 评论 - 3, 阅读 - 42万

Copyright © 2025 jiaoqing。
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示