自建了一个表,其中的字段为 char 或者 varchar 的类型。
我们如果直接进行的排序的话,得到的序列是字符顺序的,即 1,10,2,20,… ,但是我们希望得到的是 1,2,3,4,… 这种序列,有两种方法可以实现排序。
手动转换select id from db.sql order by id + 0 desc但是这种方式显得有点丑,其实 Mysql 提供了一个非常好用的函数进行操作。
使用函数CAST() 函数和 CONVERT() 可以使用。
select id from db.sql order by CAST(id as SIGNED) descselect id from db.sql order by CONVERT(id, SIGNED) desc时间戳创建新记录和修改现有记录都更新方式TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP创建的时候设置时间,后续的修改不再更新TIMESTAMP DEFAULT CURRENT_TIMESTAMP创建的时候把字段设置为 0 ,以后修改才更新TIMESTAMP ON UPDATE CURRENT_TIMESTAMP创建时设置为给定值,以后更新会刷新这个时间TIMESTAMP DEFAULT 'yyyy-mm-dd hh:mm:ss' ON UPDATE CURRENT_TIMESTAMP ---来自腾讯云社区的---zucchiniy
微信扫一扫打赏
支付宝扫一扫打赏