zoukankan      html  css  js  c++  java
  • Mysql中对字符串类型的字段进行数字值排序

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

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

    -- 方式一
    SELECT
        * 
    FROM
        xxxxxx 
    WHERE
        STATUS = '1' 
    ORDER BY
        ORDER_NUMBER + 0 DESC
            
            
    -- 方式二        
    SELECT
        * 
    FROM
        xxxxx 
    WHERE
        STATUS = '1' 
    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 = '1004' 
    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

  • 相关阅读:
    埃及分数问题(JLNUOJ 2372)
    哈夫曼树的简单实现(JLOJ2370)
    4 Values whose Sum is 0 UVA 1152
    UVA 1600 Patrol Robot
    UVA122 二叉树的层次遍历
    51nod(1174 区间中最大的数)(ST表模板题)
    51nod(1089 最长回文子串 V2)(hash 加二分)
    中国剩余定理(费马小定理求逆元)
    hdu1005 矩阵快速幂
    八连通(vector动态数组法)
  • 原文地址:https://www.cnblogs.com/awzf/p/9848458.html
Copyright © 2011-2022 走看看