zoukankan      html  css  js  c++  java
  • Mysql 数据库中表的排序字段类型要怎么选择?

    我们在工作中设计表的时间经常会遇到排序字段的类型选择,是选择字符串类型,还是选择类型呢?还是有更好的选择呢?

    下面我们要选择用字符串做为排序字段类型

    创建表跟插入数据

    创建表

    插入数据

    查询所以记录并排序

    SELECT * from test_server ORDER BY sort ASC

    执行查询并排序

    从上图我们可以看出上面的排序是有问题,正确的排序应该是 1,2,4,12 而现在是1,12,2,4被当成字符串来比较了。

    要怎么解决上面的问题呢?就是要把字符串转换为数值类型

    1,sort+0后再排序

    执行查询并排序

    2,使用MySQL函数CAST/CONVERT

    CAST() 和CONVERT() 函数可用来获取一个类型的值,并产生另一个类型的值。

    这个类型 可以是以下值其中的 一个:

    BINARY[(N)]

    CHAR[(N)]

    DATE

    DATETIME

    DECIMAL

    SIGNED [INTEGER]

    TIME

    UNSIGNED [INTEGER]

    执行查询并排序

    执行查询并排序

    以方法虽然都可以解决这个问题,但是还我喜欢直接把sort字段设计为数值类型。一步到位,节省一些执行的时间。

    修改表字段类型

    修改表字段类型

    执行查询并排序

    执行查询语句

    如果你还有什么好的方法可以在评论中留言交流谢谢大家。

  • 相关阅读:
    Java技术 第九次实验
    JAVA第八次作业
    Java第七次作业--图形用户界面
    Java第六次作业
    Java第五次作业
    《Java技术》第四次作业
    Java技术第三次作业
    《Java技术》第二次作业
    《Java技术》第一次作业
    ActiveQq的代码实现
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14665551.html
Copyright © 2011-2022 走看看