mysql字符串转数字_mysql字符串转数字小计

mysql字符串转数字_mysql字符串转数字小计问题:要求比较’100%’和’95%’的大小实践:mysql>SELECT’100%’>’95%’;+—————-+|’100%’>’95%’|+—————-+|0|+—————-+1rowinset(0.00sec)发现’100%’竟然小于’95%’原因:因为是字…

大家好,又见面了,我是你们的朋友全栈君。

问题:要求比较’100%’和’95%’的大小

实践:mysql> SELECT ‘100%’ > ‘95%’;

+—————-+

| ‘100%’ > ‘95%’ |

+—————-+

| 0 |

+—————-+

1 row in set (0.00 sec)

发现’100%’竟然小于’95%’

原因:因为是字符串,字符串比较是递归字符串里面的每个字符进行比较,先去第一个,1和9比较大小,则1比9小,输出结果;如果相等,则继续进行下一个字符比较

如果想要对这种类型的字符串进行大小比较,该怎么做呢?

转换为数字。

conv或者cast、convert

convert、cast的用法字符集转换 : CONVERT(xxx USING gb2312)

类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型),类型必须用下列的类型:

可用的类型

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

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

日期 : DATE

时间: TIME

日期时间型 : DATETIME

浮点数 : DECIMAL

整数 : SIGNED

无符号整数 : UNSIGNED

因为要转换为数字类型,如果是’100.12%’这种格式,最好是用decimal

新的比较方法如下:mysql> SELECT CAST(‘100.5%’ AS DECIMAL(10,2)) >CAST(‘99.6%’ AS DECIMAL(10,2)) bj;

+—-+

| bj |

+—-+

| 1 |

+—-+

1 row in set (0.00 sec)

mysql> SELECT CONVERT(‘100.5%’,DECIMAL(10,2)) >CONVERT(‘99.6%’,DECIMAL(10,2)) bj;

+—-+

| bj |

+—-+

| 1 |

+—-+

1 row in set (0.00 sec)

另外可以尝试conv函数,不过不能处理浮点型

其实,这样转换感觉有点儿不妥,要是mysql的模式换一下,估计会报错,最好的办法是把%号给替换掉,于是,就用下面这种方法mysql> SELECT CONVERT(REPLACE(‘100.5%’,’%’,”),DECIMAL(10,2)) >CONVERT(REPLACE(‘99.6%’,’%’,”),DECIMAL(10,2)) bj;

+—-+

| bj |

+—-+

| 1 |

+—-+

1 row in set (0.00 sec)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138999.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • paoding分词TokenStream的使用

    paoding分词TokenStream的使用[code="java"]importjava.io.IOException;importjava.io.StringReader;importnet.paoding.analysis.analyzer.PaodingAnalyzer;importorg.apache.lucene.analysis.Analyzer;importorg.apache.lu…

    2022年7月22日
    12
  • spdlog 日志库学习,简易封装

    spdlog 日志库学习,简易封装spdlogwiki:https://github.com/gabime/spdlog/wiki别人的学习笔记:https://www.cnblogs.com/oucsheep/p/8426548.html别人的学习笔记:https://github.com/gabime/spdlog/wiki百度搜spdlog封装可以看到很多写的差不多的单例类,我看公司遗留的代码也是借鉴这些写的。最常见的是一开头就写上:#ifdef_WIN32#define__FILENAME__(s

    2022年6月23日
    60
  • Javamap集合_javaweb开源项目

    Javamap集合_javaweb开源项目概述Map接口是java中两大集合接口之一,相对于Collection,Map接口结构规定了所有键值对形式的集合容器。同时,它与Collection的子接口Set又密切相关,Map

    2022年8月16日
    7
  • sit环境和uat环境的区别_uat环境分层

    sit环境和uat环境的区别_uat环境分层介绍一下开发过程中,四个环境以及各自的功能特点,四个环境分别是:pro、pre、test、dev环境,中文名字:生产环境、灰度环境、测试环境、开发环境DEVdevelopment开发SITSystemIntegrateTest…

    2022年9月30日
    3
  • 微信聊天记录数据分析「建议收藏」

    目录一、项目背景二、数据准备三、数据预处理及描述性统计四、数据分析1.聊天时间分布图2.高频词汇统计3.词云图展示五、其它探索性分析一、项目背景2021年2月20日我和我女朋友第一次见面,之后开启了我们两个人的故事,时隔一年我想将我们的聊天记录提取出来进行简单的数据分析一下。微信里面有2021年4月20日至2022年2月20日的聊天记录,一共十个月的数据。二、数据准备在网上有许多文章关于可以找到关于…

    2022年4月12日
    454
  • php模糊查询技术「建议收藏」

    php模糊查询技术「建议收藏」     查询可分为精确查询【返回结果有且仅有一条】                      模糊查询【返回结果不确定】      在下面的讲述中我们主要讲解模糊查询        在生活中,我们身边有很多的信息源,我们需要筛选出与自己相关的信息,例如相同的兴趣爱好,来进行与自己的信息匹配。 这是在生活中的模糊查询的一个体现。在项目模糊查询中相对来说就更多了,例如web网页中的一…

    2022年5月26日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号