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字段设计为数值类型。一步到位,节省一些执行的时间。

    修改表字段类型

    修改表字段类型

    执行查询并排序

    执行查询语句

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

  • 相关阅读:
    Jquery 跨域请求JSON数据问题
    js定时器实现图片轮播
    Redis数据一致性
    Redis缓存击穿、缓存穿透、缓存雪崩
    数据库连接池druid连接mysql数据库‘链路断开’问题
    Mysql启动错误: Can’t create test file xxx lower-test
    DB2-表空间
    DB2-Schema
    DB2-数据库
    DB2-实例
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14665551.html
Copyright © 2011-2022 走看看