Mysql数据库不同字符串排序讲义
admin
2023-06-06 09:41:49
0

本文主要给大家介绍 Mysql数据库不同字符串排序讲义,文章内容都是笔者用心摘选和编辑的, Mysql数据库不同字符串排序讲义具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下主题内容吧。

下面,我从数据库里面以server_id排一下序,大家来看一下排序后的结果:

select server_id from cardserver where game_id = 1 order by server_id desc limit 10;

+-----------+
|
 server_id |
+-----------+
|
 8         | 
| 7         | 
| 6         | 
| 5         | 
| 4         | 
| 3         | 
| 2         | 
| 10        | 
| 1         | 
+-----------+

 Mysql数据库不同字符串排序讲义

很明显,我想要的结果应该是 10,8,7,6,5 这样的。但是这个10排在了2的后面。按照字符串来排的。其实我是想把它当做数值来排。

手动转换类型:

用下面的方法就可以了,使server_id+0之后再排序,问题解决了。

select server_id from cardserver where game_id = 1 order by server_id+0 desc limit 10;

+-----------+
|
 server_id |
+-----------+
|
 10        | 
| 8         | 
| 7         | 
| 6         | 
| 5         | 
| 4         | 
| 3         | 
| 2         | 
| 1         | 
+-----------+

 

使用MySQL函数CAST/CONVERT:

mysql为我们提供了两个类型转换函数:CAST和CONVERT,现成的东西我们怎能放过?

CAST() 和CONVERT() 函数可用来获取一个类型的值,并产生另一个类型的值。
这个类型 可以是以下值其中的 一个:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]

所以我们也可以用CAST解决问题:

select server_id from cardserver where game_id = 1 order by CAST(server_id as SIGNED) desc limit 10;

也可以使用CONVERT来搞定此问题:

select server_id from cardserver where game_id = 1 order by CONVERT(server_id,SIGNED) desc limit 10;

看完以上关于 Mysql数据库不同字符串排序讲义,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

 

相关内容

热门资讯

神舟二十三号发射场区开展全系统... 央广网北京5月23日消息(记者邢斯嘉 张棉棉 王家伟)据中央广播电视总台中国之声《新闻和报纸摘要》报...
雷军余承东预警:手机只会越来越... 快科技5月22日消息,在小米17 Max新品发布会上,小米创办人雷军公开表态,未来两年内存价格还会持...
9项科学实验将上行中国空间站 ... 央视网消息:记者从中国科学院空间应用工程与技术中心了解到,神舟二十三号载人飞船 将携带9项科学实验上...
发射流程进入临射倒计时,神舟二... 5月23日,神舟二十三号载人飞行任务新闻发布会上,发言人介绍,经研究决定,瞄准北京时间5月24日23...
意大利罗马上万人举行反战游行,... 当地时间23日,上万意大利民众在首都罗马走上街头,举行反战抗议示威活动,抗议地区冲突与军备扩张带来的...
孙杨还没明白,公众为什么不溺爱... 随着最新一期《妻子的浪漫旅行》播出,不知多少人共情了被孙杨气哭的张豆豆,猛然发现自己出走半周却还是被...
空调板掰了一下不归位了 如果空调板掰了一下不归位了,你可以尝试以下方法来解决问题:1. 重新调整:再次轻轻掰动空调板,看是否...
美的空调一下制冷一下不制冷 1、如果空调内部的氟利昂过多,再运行一段时间之后,压力过高就会进入保护状态,等到系统凉下来之后又可恢...
空调遥控器摔一下不显示了 原因可能是电池摔错位了,可以重新连接好正负极解决;原因可能是红外灯接触不良,可以维修发射器解决;原因...
空调遥控器摔了一下不显示了怎么... 空调遥控器摔了一下不显示,把电池拿掉,然后按遥控器的按键,使电充分的放完,放置五分钟,然后安装好电池...