一、字符串与数字比较

MySQL字符串和数字比较的坑:比较时会把字符串类型转成整数类型,从首字母开始,遇到非数字类型后终止。

原文:

Comparison operations result in a value of 1 (TRUE), 0 (FALSE), or NULL. These operations work for both numbers and strings. Strings are automatically converted to numbers and numbers to strings as necessary.

也就是说在比较的时候,String是可能会被转为数字的。

对于数据开头的字符串,转成数字后会自动丢弃后面的字母部分,只留下纯数字进行比较。

对于没有数字的那些字符串,与数值进行比较的时候,就只剩下0去和其他数值进行比较了

注:其实字符串和数值比较最大的坑在于:它会导致查询不能用到索引,直接就影响了查询的效率。

1、对于开头部分不能截取出数字的字符串来说,转换的结果自然就是0了。就只剩下0去和其他数值进行比较了。
mysql> select 'abc'=0;
+---------+
| 0='abc' |
+---------+
|       1 |
+---------+
1 row in set, 1 warning (0.00 sec)mysql> SELECT "a2bc"<2;
+----------+
| "a2bc"<2 |
+----------+
|        1 |
+----------+
1 row in set, 1 warning (0.01 sec)2、对于数据开头的字符串,转成数字后会自动丢弃后面的字母部分,只留下纯数字进行比较。
mysql> select 11>'010abc';
+-------------+
| 11>'010abc' |
+-------------+
|           1 |
+-------------+
1 row in set, 1 warning (0.00 sec)mysql> select '01abc'>0;
+-----------+
| '01abc'>0 |
+-----------+
|         1 |
+-----------+
1 row in set, 1 warning (0.00 sec)

二、字符串与字符串比较

字符串比较大小是逐位从高位到低位逐个比较(按ascii码),所以字符串类型的数字18<2


mysql> select "18"<"2";
+----------+
| "18"<"2" |
+----------+
|        1 |
+----------+
1 row in set (0.00 sec)mysql> select 'abc123'>'010abc';
+-------------------+
| 'abc123'>'010abc' |
+-------------------+
|                 1 |
+-------------------+
1 row in set (0.00 sec)mysql>  select '465543153571602432' <= '5';
+-----------------------------+
| '465543153571602432' <= '5' |
+-----------------------------+
|                           1 |
+-----------------------------+
1 row in set (0.00 sec)

参考:

https://www.cnblogs.com/micrari/p/6358652.html MySQL中字符串与数字比较的坑https://www.cnblogs.com/FKdelphi/p/4683114.html 教程-最全ASCII 码对照表

MySQL 字符串和数值比较、字符串与字符串比较相关推荐

  1. MySQL 字符串和数值比较、字符串与字符串比较

    一.字符串与数字比较 MySQL字符串和数字比较的坑:比较时会把字符串类型转成整数类型,从首字母开始,遇到非数字类型后终止. 原文: Comparison operations result in a ...

  2. MySQL日期、字符串、数值型转换

    日期字符串提取月份,例如两个日期字符串间隔几个月,可以用 month('2019-05-01')-month('2019-12-02') 字符串转日期,使用类型转换函数: cast('2019-12- ...

  3. python的数值可以转换为字符串_python 数值转换为字符串Python对HTML转义字符进行反转义...

    什么是转义字符 在 HTML 中 .& 等字符有特殊含义( 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字 ...

  4. 盘点mysql中的那些函数-----数学与字符串函数(8.31更新)

    盘点mysql中的那些函数 数学函数 平方根与取余 最小整数与最大整数 随机函数---rand 四舍五入函数----round 符号函数 幂运算函数 对数函数 角度和弧度函数 三角函数 字符串函数 字 ...

  5. mysql字符串逆时针旋转180度_mysql字符串操作

    ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII('2′); -> 50 mysql> select ...

  6. mysql 判断等于空字符串,MySql判断是否为null或空字符串

    MySql判断是否为null或空字符串 判断方法: if  ISNULL(aBegBalRule) || LENGTH(trim(aBegBalRule))<1 THEN ELSE END IF ...

  7. python字符串拼接数字_python字符串和数值操作函数大全(非常全)

    字符串和数值型数字的操作大全 1.反斜杠\的使用规则:一般使用表示续行的操作,可以其他符号相结合组成其他的一些使用符号,转义字符\'的使用会识别引号,使得字符串中的引号和外面本来的啊引号相区分. (1 ...

  8. 常见字符串和数值间得转换

    字符串和数值之间的转换 c标准库: 字符串转数字 atof atoi atol atoll _atoi64 strtof strtod strtold strtol strtoll strtoul c ...

  9. mysql提取数字_Mysql中实现提取字符串中的数字的自定义函数分享

    因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代 ...

  10. ML之FE:数据处理—特征工程之特征三化(标准化【四大数据类型(数值型/类别型/字符串型/时间型)】、归一化、向量化)简介、代码实现、案例应用之详细攻略

    ML之FE:数据处理-特征工程之特征三化(标准化[四大数据类型(数值型/类别型/字符串型/时间型)].归一化.向量化)简介.代码实现.案例应用之详细攻略 目录 真正意义的标准化与归一化 1.标准化/Z ...

最新文章

  1. Python学习笔记.OS学习笔记 OS操作系统(operating system)(一)
  2. 《Java基础入门》课后习题答案 资源分享
  3. java 查看变量类型
  4. Visual Studio 2017 社区版的安装与组件修改(C++)
  5. Codeigniter 用户登录注册模块
  6. itms-services 格式
  7. python 免费空间_总算找到php免费空间
  8. Spring事务如何集成到Mybatis之springboot事务
  9. Spring笔记02(3种加载配置文件的方式)
  10. 使用s:property value=4/是报错
  11. 图形学笔记1.直线扫描转换与devC的图形库ege扩展
  12. 雨过天晴电脑保护系统校园版
  13. 线性分类器及Python实现
  14. 苹果怎么用测试软件,iPhone 也能测量身高教你怎么用 iOS「测距仪」App
  15. mysql命令桌面壁纸_【upupoo动态桌面壁纸和mysql-jdbc.jar哪个好用】upupoo动态桌面壁纸和mysql-jdbc.jar对比-ZOL下载...
  16. 安卓应用加固壳判断java厂商_使用frida来hook加固的Android应用的java层
  17. Magento创建主题
  18. Lingoes安装词典和语音库
  19. 数商云采购管理系统支付结算功能详解,实现建筑工程企业采购业务智能化管理
  20. 每日文献:2018-01-10

热门文章

  1. php实例精通txt下载,PHP实例精通(1碟)
  2. html 中 超链接的写法,网页超链接样式的CSS写法
  3. 找出阿里云RDS数据库的IP地址
  4. html5如何实现语音点歌,怎么给手机点歌 怎么样用自己手机给对方手机点歌
  5. 计算机右键管理提示没有关联应用,win10系统计算机右键管理提示没有与之关联的程序的解决方法...
  6. css伪元素实现箭头和关闭及环形实心圆点
  7. 浅谈一下pyd文件的逆向
  8. 四参数旋转角异常,平面坐标方位角不准确的问题
  9. python——sys模块
  10. Go语言学习系列 -- 大道至简—GO语言最佳实践​​​​​​​