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

  • 相关阅读:
    ASP.NET的三层架构(DAL,BLL,UI)
    页面开发辅助类—HtmlHelper初步了解
    ASP MVC之参数传递
    ASP.NET MVC学习之母版页和自定义控件的使用
    ASP.Net MVC开发基础学习笔记(2):HtmlHelper与扩展方法
    UITableView动态改变Cell高度
    UITableView动态改变Cell高度
    nodejs豆瓣爬虫
    nodejs豆瓣爬虫
    苹果系统OSX中Automator批量重命名
  • 原文地址:https://www.cnblogs.com/awzf/p/9848458.html
Copyright © 2011-2022 走看看