广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库中varchar类型的数字比较大小的方法是什么
  • 872
分享到

MySQL数据库中varchar类型的数字比较大小的方法是什么

2023-06-25 15:06:37 872人浏览 八月长安
摘要

这篇文章主要介绍“MySQL数据库中varchar类型的数字比较大小的方法是什么”,在日常操作中,相信很多人在Mysql数据库中varchar类型的数字比较大小的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对

这篇文章主要介绍“MySQL数据库中varchar类型的数字比较大小的方法是什么”,在日常操作中,相信很多人在Mysql数据库中varchar类型的数字比较大小的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql数据库中varchar类型的数字比较大小的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创建测试

-- ------------------------------ Table structure for check_test-- ----------------------------DROP TABLE IF EXISTS `check_test`;CREATE TABLE `check_test` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `current_price` varchar(10) NOT NULL,  `price` varchar(10) NOT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; -- ------------------------------ Records of check_test-- ----------------------------INSERT INTO `check_test` VALUES ('1', '12', '14');INSERT INTO `check_test` VALUES ('2', '22', '33');INSERT INTO `check_test` VALUES ('3', '15', '8');INSERT INTO `check_test` VALUES ('4', '9', '7');INSERT INTO `check_test` VALUES ('5', '12', '12.9');

MySQL数据库中varchar类型的数字比较大小的方法是什么

MySQL数据库中varchar类型的数字比较大小的方法是什么

我们执行如下sql

-- 找出current_price比price小的记录select * from check_test where current_price<price;select * from check_test where (current_price+0)<(price+0); -- 找出current_price比price大的记录select * from check_test where current_price>price;select * from check_test where (current_price+0)>(price+0);

结果如下:

MySQL数据库中varchar类型的数字比较大小的方法是什么

 我们可以看到在结果1中15>8不符合条件却查询到了,而结果3中15>8满足条件却并没有查询出来。

这是为什么呢?因为字符串类型的数字比较大小是从第一位开始比较其在字符编码中对应的数值大小,相等则继续比较第二位,不相等就是数值大的为大。其中数字字符对应的ASCII码值如下:

MySQL数据库中varchar类型的数字比较大小的方法是什么

 例如:

  • 如果current_price="12"、price="14",其中第1位字符"1"所对应的ASCII十进制数值都是49,二者相等,而第二位字符"2"的ASCII十进制数值是50,"4"的ASCII十进制数值是52,50<52,所以结果正确。

  • 如果current_price="15"、price="8",其中current_price中的第1位字符"1"所对应的ASCII十进制数值是49,而price中的第1位字符"8"所对应的ASCII十进制数值是56,49<56,所以能够查询出来,但却并不是我们期望的结果。

我们可以通过代码来进行验证,这里用的是javascript语言:

var current_price = "12";var price = "14";console.log(current_price < price);// true var current_price = "15";var price = "8";console.log(current_price < price);// true

所以对于可能要比较大小的数字不应该设置为varchar类型,但如果已经设置为了varchar类型,那么如果要比较则将其转换成数值类型进行比较,在SQL中中对字段加0即可。

而如果是编程语言则需要通过对应的函数进行转换,不能加0直接转换,如JavaScript:

var current_price = "12";var price = "14";console.log(parseInt(current_price) < parseInt(price));// true var current_price = "15";var price = "8";console.log(parseInt(current_price) < parseInt(price));// false

注意:字符所对应的十进制数值跟其编码有关系,但ASCII码都被兼容。

到此,关于“MySQL数据库中varchar类型的数字比较大小的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库中varchar类型的数字比较大小的方法是什么

本文链接: https://www.lsjlt.com/news/305597.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL数据库中varchar类型的数字比较大小的方法是什么
    这篇文章主要介绍“MySQL数据库中varchar类型的数字比较大小的方法是什么”,在日常操作中,相信很多人在MySQL数据库中varchar类型的数字比较大小的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-25
  • MySQL数据库中varchar类型的数字比较大小的方法
    创建测试表 -- ---------------------------- -- Table structure for check_test -- --------------...
    99+
    2022-11-12
  • MySQL datetime类型与时间、日期格式字符串大小比较的方法
    目录一、前提1、mysql版本信息:2、表字段:二、使用>、<比较1.  日期格式比较:2. 时间格式三、between and1. 日期格式四、总结一、前提 1、MySQL版本信息: MySQL版...
    99+
    2022-11-14
  • mysql是什么类型的数据库
    小编给大家分享一下mysql是什么类型的数据库,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql是什么类型的数据库MySQL是一种关系型数据库管理系统,使用sql语言对数据库进行管理的。...
    99+
    2022-10-18
  • mysql数据库的类型是什么
    本篇内容介绍了“mysql数据库的类型是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • 记录总结,MySQL中的时间字段的几种数据类型比较
    序言 以前脑海里就一念头总以为啥时间都用int存储,最近在项目开发时,频繁见到datetime类型,对于MySQL数据库中的有关时间的字段该选用何种类型,引发了一些争论。所以做了一些简单的研究,看了一些bl...
    99+
    2022-10-18
  • MySQL数据库中的varchar限制规则是什么
    这篇文章主要介绍“MySQL数据库中的varchar限制规则是什么”,在日常操作中,相信很多人在MySQL数据库中的varchar限制规则是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2022-10-18
  • MySQL 中一位最小的数据类型是什么?
    一位的最小数据类型可以是bit(1)。语法如下 -yourColumnName bit(1)为了理解上述语法,让我们创建一个表。创建表的查询如下 -mysql> create table bitDemo -> ( -...
    99+
    2023-10-22
  • Mysql表数据比较大情况下修改添加字段的方法实例
    前言 如果一张表在后期的维护中,发现需要加字段以满足当下的需求,但是数据量很大有百万甚至千万级的数据,要如何修改表字段呢。 直接执行使用alter语句肯定是不现实的,这涉及到锁表重建表结构等操作,假设这时候还有其他线程在...
    99+
    2022-06-28
    mysql如何增加字段 mysql 修改字段 mysql修改表添加字段
  • MySQL数据库中ENUM类型的作用是什么
    本篇文章给大家分享的是有关MySQL数据库中ENUM类型的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  MySQL数据库中ENU...
    99+
    2022-10-18
  • mongodb存储大小数据的方法是什么
    MongoDB可以存储任意大小的数据,没有固定的限制。它采用了分片和复制的机制,可以扩展到大规模的数据集和高并发的访问。在Mongo...
    99+
    2023-08-24
    mongodb
  • c++数据类型转换的方法是什么
    在C++中,数据类型转换有以下几种方法:1. 隐式转换:在某些情况下,C++会自动执行数据类型的隐式转换。例如,将整数赋值给浮点数变...
    99+
    2023-09-16
    c++
  • mysql中创建数据库的方法是什么
    这篇文章给大家分享的是有关mysql中创建数据库的方法是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。 数据库可以看作是一个专门存储数据对象的容器,这里的数据对象包...
    99+
    2022-10-18
  • mysql中整数数据类型tinyint的作用是什么
    在MySQL中,整数数据类型tinyint用于存储非常小的整数值。它占用1个字节(8位),可以存储范围为-128到127的整数值。t...
    99+
    2023-08-15
    mysql tinyint
  • python输入数据判断数据类型的方法是什么
    在Python中,可以使用`type()`函数来判断数据的类型。例如:```pythondata = input("请输入...
    99+
    2023-08-11
    python
  • mysql恢复数据库的方法是什么
    MySQL恢复数据库的方法主要有以下几种:1. 使用备份文件恢复:如果有事先备份的数据库文件,可以使用MySQL提供的命令行工具(如...
    99+
    2023-10-09
    mysql 数据库
  • MySQL删除数据库的方法是什么
    本篇内容介绍了“MySQL删除数据库的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、drop命令删除数据库使用普通用户登陆 M...
    99+
    2023-07-06
  • 进入mysql数据库的方法是什么
    这篇文章给大家分享的是有关进入mysql数据库的方法是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。首先确定是以管理员身份运行命令行窗口,因为权限比较高。Win+r输入cmd...
    99+
    2022-10-18
  • mysql数据库迁移的方法是什么
    这篇文章主要介绍了mysql数据库迁移的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql数据库迁移的方法是什么文章都会有所收获,下面我们一起来看看吧。简介数据...
    99+
    2023-02-15
    mysql 数据库
  • navicat改数据库名字的方法是什么
    要在Navicat中更改数据库名称,可以按照以下方法进行操作:1. 打开Navicat软件,并连接到要更改数据库名称的数据库服务器。...
    99+
    2023-10-11
    navicat 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作