排序字段+0或者*1,类似  Java 把 其他类型转换成字符串 比如 +“”;

一、对普通数字字符串字段排序

-- 方式一
SELECT
*
FROM
xxxxxx
WHERE
STATUS = ''
ORDER BY
ORDER_NUMBER + 0 DESC -- 方式二
SELECT
*
FROM
xxxxx
WHERE
STATUS = ''
ORDER BY
ORDER_NUMBER * 1 DESC

二、对double字段或其他带小数的金额字段排序

1.利用sql语句中关键字的执行顺序先在select后将字符串转为DECIMAL类型在排序

SELECT
SUM( cast( MONEY AS DECIMAL ( 18, 2 ) ) ) MONEYS,
USER_ID
FROM
PRODUCT
WHERE
TYPE = ''
GROUP BY
USER_ID
ORDER BY
MONEYS DESC //MONEYS为select转换后的字段值
LIMIT 10

2.sql函数说明

cast():

一、在mysql操作中我们经常需要对数据进行类型转换。此时我们应该使用的是cast()或convert()。

二、两者的对比

相同点:都是进行数据类型转换,实现的功能基本等同

不同点:两者的语法不同,cast(value as type) 、 convert(value,type)

三、所支持的类型如下:

二进制,同带binary前缀的效果 : BINARY

字符型,可带参数 : CHAR()

日期 : DATE

时间: TIME

日期时间型 : DATETIME

浮点数 : DECIMAL

整数 : SIGNED

无符号整数 : UNSIGNED

DECIMAL(xx,x):

MySQL DECIMAL数据类型用于在数据库中存储精确的数值。我们经常将DECIMAL数据类型用于保留准确精确度的列

举例说明:DECIMAL(19,9)对于小数部分具有9位数字,对于整数部分具有19

Mysql中对字符串类型的字段进行数字值排序的更多相关文章

  1. mysql中的字符串类型数据索引优化

    摘自 "高性能mysql" 对于一些字符串类型较长的字段搜索时, 可以参考如下方法

  2. MySQL 中的字符串类型

    字符类型包括: CHAR VARCHAR BINARY VARBINARY BLOB TEXT ENUM SET CHAR 与 VARCHAR CHAR(m) m 取值范围 0-255.列宽固定,存储 ...

  3. mysql中比较字符串类型数字

    操作的表: p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures ...

  4. Mysql中把varchar类型的字段转化为tinyint类型的字段

    因为之前不知道tinyint类型的用法,所以将一些状态属性字段类型设置成了varchar类型,然后用"是"和"否"来判断状态 后来了解到了tinyint,就想试 ...

  5. mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)字符串拼接cancat实战例子

    mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)mysql字符串拼接cancat实战例子: mysql update set 多个字段相加,如果是数字相加可以直接用+号(注:hund ...

  6. mysql中修改表字段名/字段长度/字段类型详解

    在mysql中我们对数据表字段的修改命令只要使用alter就可以了,下面我来给大家详细介绍mysql中修改表字段名/字段长度/字段类型等等一些方法介绍,有需要了解的朋友可参考. 先来看看常用的方法 M ...

  7. sql判断以逗号分隔的字符串中是否包含某个字符串--------MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法

    sql判断以逗号分隔的字符串中是否包含某个字符串---------------https://blog.csdn.net/wttykj/article/details/78520933 MYSQL中利 ...

  8. [转]mysql中的字符串的拼接

    字符串的拼接 1,Mysql 在Java.C#等编程语言中字符串的拼接可以通过加号“+”来实现,比如:"1"+"3"."a"+"b ...

  9. Oracle和Mysql中的字符串的拼接

    SQL允许两个或者多个字段之间进行计算,字符串类型的字段也不例外.比如我们需要 以"工号+姓名"的方式在报表中显示一个员工的信息,那么就需要把工号和姓名两个字符 串类型的字段拼接计 ...

随机推荐

  1. docker容器端口号、时区修改

     一.修改端口号 在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提 ...

  2. 电子防抖(EIS)无效的相关修改

    [DESCRIPTION] 电子防抖(EIS)无效的相关修改 [SOLUTION] 电子防抖(EIS)无效,根据不同的版本,可以先查看是否已经做了相关修改.1. MT6580/MT6735平台请参考如 ...

  3. 【C++札记】动态分配内存(malloc,free)

    介绍 操作系统中存在一个内存管理器(Memory Manager),简称MM,它负责管理内存. MM提供的服务:应用程序可以向MM申请一块指定大小的内存(借出),用完之后应用程序应该释放(还回). 所 ...

  4. python学习-46 时间模块

    时间模块 ····时间戳 print(time.time()) 运行结果: 1564294158.0389376 Process finished with exit code 0 ·····结构化时 ...

  5. python学习-22 字符串格式化

    格式化包括:百分号方式和format方式 1.百分号 - %s   (%.4s   表示截取了4个字符) 传单个值: 例如: print('i am %s sex boy is ljj'%123) 运 ...

  6. Django dumpdata and loaddata

    目录 dumpdata 命令 dumpdata 基本数据库的转存 dumpdata 备份特定的 app dumpdata 备份特定的表 dumpdata (--exclude) dumpdata (- ...

  7. MVC——三层架构笔记、1

    三层架构MVC笔记1. DAL——数据访问层:(专门与数据库交互,增删查改的方法都在这:需引用MODEL层) BLL——业务逻辑层:(页面与数据库之间的桥梁:需引用DAL.MODEL层) MODEL— ...

  8. (九)Struts标签基础(二)

    2.3 非表单标签 2.3.1 <s:actionerror>标签, this.addActionError("错误信息1");   //使用addActionErro ...

  9. Java容器汇总【红黑树需要再次学习】

    1,概述 2,Collection 2.1,Set[接触比较少] 2.1.1 TreeSet 底层由TreeMap实现 基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作.但是查找效率不如 ...

  10. node 和 postgres

    安装 npm i pg ,如果慢的话,记得爬梯子 连接池的方式: var pg = require('pg'); // 数据库配置 var config = { user:"postgres ...