`
cobo85
  • 浏览: 116987 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL数值计算有趣的一点

阅读更多

      在mysql上写进行数值计算的sql发现一件很有意思的事。功能是从一个表中查询出配置项然后和另一个表中的字段进行相加相乘,本来写好sql以后想要先进行数值类型的转换再进行计算(oracle和DB2上是必须进行了),谁知随手按下执行键,结果就就出来,没有报错!要知道这可是字符串类型和数字类型进行的四则运算,索性就又进行了一把“变态”的测试。

 

    

select "10"+10;//结果是20

select  "10"+"10";//结果还是20

select  "10a"+"10b";//20

select 'a10'+a10; //终于报错了^^

select "a"+"b";//0

select "a10"+"a10";//0

select  "1a0"+"1b0";//2

select ("a"+"10abc")*"5a";//50

 看看结果是不是感觉mysql有点小"变态",其他的运算基本也是一样,有兴趣的童鞋可以试下。

 

总结:mysql的四则运算操作符确实很与众不同,带四则运算符号前后的数据类型会被优先作为数字来对待,并且可以过滤不合法的字符串,但是有一点他是从第一位开始进行判断的,如果不是1-9他会认为该字符串表达的值为0,如果第一位是0他会取第二个值做为字符串的数字值,一次类推。

 

 

分享到:
评论

相关推荐

    mysql数值转中文大写

    mysql数值转中文大写

    mysql的优化的一点小建议,!!

    关于mysql的优化的一点小建议,其中的一个参数,需要修改 关于mysql的优化的一点小建议,其中的一个参数,需要修改 关于mysql的优化的一点小建议,其中的一个参数,需要修改 关于mysql的优化的一点小建议,其中的...

    MySQL 数值类型.pdf

    在MySQL中,数值类型是用于存储整数、浮点数以及精确数值的重要类型。以下是对这些数值类型的详细说明: 1. **TINYINT**: TINYINT占用1个字节(8位),可以存储从-128到127的有符号整数,或者从0到255的无符号...

    mysql 计算字符串相似度

    ### MySQL 计算字符串相似度 #### 背景与需求 在许多应用场景中,我们需要对两个字符串进行相似度比较,比如搜索引擎中的关键词匹配、文本分析中的近义词识别等。MySQL 提供了多种方法来实现字符串相似度的计算,...

    数值计算实验,基于Matlab.zip

    【数值计算实验,基于Matlab】的实验设计通常涉及到计算机科学与工程领域的多个核心知识点,尤其是在数据处理、算法实现和软件应用方面。Matlab作为一款强大的数学计算软件,被广泛用于数值分析、矩阵运算、图形绘制...

    mysql 数值与字符串的比较

    在MySQL中,数值与字符串之间的比较是一个常见的操作,特别是在处理包含混合数据类型的列时。这里的例子涉及到了将数值条件应用于字符串类型的字段,如`uid`。这种比较可能会导致意想不到的结果,因为MySQL会尝试...

    mysql5.6,5.7计算地球距离函数.txt

    mysql计算地球距离的函数(mysql 8.0以下)

    mysql函数-根据经纬度坐标计算距离

    在MySQL数据库中,计算两个地理位置之间的距离通常涉及到地理坐标系统,即经纬度。经纬度坐标是地球表面位置的标准表示方式,其中经度表示东西方向,纬度表示南北方向。本篇文章将详细介绍如何利用MySQL的内置函数和...

    MySql 5.1 参考手册.chm

    7.4.8. MySQL如何计算打开的表 7.4.9. MySQL如何打开和关闭表 7.4.10. 在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的...

    mysql数值型字段table创建示例数据

    -- 用数字作为字段创建空表 create table test_to_be_delete_table_02( cust_group_id varchar(20) ,`4566731054745600` int(10) ,`4566731054745601` int(10) ,`4566731054745602` int(10) ...

    MySQL计算两日期之间的工作日

    纯SQL语句实现,不需要写存储过程或者函数 在MySQL环境下测试过没有问题

    mysql 函数,可以将数字转换为中文大写形式

    mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。

    MYSQL

    8.4.4.4 排序行 8.4.4.5 日期计算 8.4.4.6 NULL值操作 8.4.4.7 模式匹配 8.4.4.8 行计数 8.4.5 使用多个数据库表 8.5 获得数据库和表的信息 8.6 以批处理模式使用mysql 8.7 从...

    MySQL常见数据类型——数值型1

    MySQL 数值型数据类型详解 MySQL 数值型数据类型是 MySQL 中最基本和最常用的数据类型之一。该类型主要包括整型、小数和位类型。在本文中,我们将详细介绍 MySQL 数值型数据类型的概念、分类和使用方法。 一、整型...

    mysql驱动jar 文件适用MySQL5.7

    MySQL驱动jar文件是Java应用程序与MySQL数据库之间通信的关键组件,主要功能是提供Java Database Connectivity (JDBC) API,使得Java开发者能够通过编写Java代码来执行SQL语句,从而操作MySQL数据库。标题提到的...

    MySQL ODBC 5.1 Driver(Mysql驱动免安装版)

    MySQL ODBC 5.1 Driver 是一个用于连接MySQL数据库的开放数据库连接(ODBC)驱动程序,它允许用户通过标准的ODBC接口访问MySQL数据库,适用于Windows操作系统。这个版本是免安装的,意味着用户可以直接解压使用,...

    Mysql5.6、Mysql5.7 JDBC驱动

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口。本文将深入探讨Mysql5.6和Mysql5.7的JDBC驱动,以及如何使用`mysql-connector-java-...

    mysql存储过程实现计算两个时间相差,并用年月日时分秒格式输出

    mysql获取两个时间相差年月日:使用mysql存储过程,实现计算两个时间的差值,并用年月日时分秒的格式输出,且从大到小为0时则不展示对应单位(如:相差1小时20秒 则展示'1时0分20秒')

    mysql驱动(适用于mysql5.7版本)

    MySQL驱动是Java应用程序连接到MySQL数据库的关键组件,它允许程序通过Java Database Connectivity (JDBC) API与MySQL服务器进行通信。本压缩包包含了两个适用于MySQL 5.7版本的驱动文件:`mysql-connector-java-...

    mysql下载,mysql工具

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)。MySQL因其高效、可靠和易于管理的特点,在Web应用程序开发、数据分析、小型到大型企业系统等领域都得到了广泛应用。以下是...

Global site tag (gtag.js) - Google Analytics