当前位置: 首页 > news >正文

Mysql字符串截取 mysql将字符串字段转为数字排序或比大小

SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ;

SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID + 1);

mysql将字符串字段转为数字排序或比大小

2017年09月17日 01:36:31 阅读数:6566

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/superit401/article/details/78007969

mysql里面有个坑就是,有时按照某个字段的大小排序(或是比大小)发现排序有点错乱。后来才发现,是我们想当然地把对字符串字段当成数字并按照其大小排序(或是比大小),结果肯定不会是你想要的结果。

这时候需要把字符串转成数字再排序。

最简单的办法就是在字段后面加上+0

如把'123'转成数字123(以下例子全为亲测):

排序:

例:

方法一:ORDER BY '123'+0;(首推)

方法二:ORDER BY CAST('123' AS SIGNED);
方法三:ORDER BY CONVERT('123',SIGNED);

比大小:

例:

SELECT '123'+0;  --   结果为123

SELECT '123'+0>127;  --   结果为0

SELECT '123'+0>12;  --   结果为1

SELECT CAST('123' AS SIGNED);    --  结果为123

SELECT CONVERT('123',SIGNED)>127;   --  结果为0

SELECT CONVERT('123',SIGNED)>12;   --  结果为1

SELECT CAST('123' AS SIGNED);  -- 结果为123

SELECT CAST('123' AS SIGNED)>127;  -- 结果为0

SELECT CAST('123' AS SIGNED)>12;   -- 结果为1

综合例子:

SELECT '123'+0>12 ORDER BY CONVERT('123',SIGNED);  --  结果为1

https://blog.csdn.net/github_39325328/article/details/79746103

mysql对字符型字段中的数字进行排序

github_39325328 2018-03-29 18:06:07  3293  收藏
分类专栏: mysql sql 文章标签: mysql GetNum() mysql对字符型字段中的数字进行排序
版权

mysql
同时被 2 个专栏收录
7 篇文章0 订阅
订阅专栏

sql
8 篇文章0 订阅
订阅专栏
场景:

按楼栋名称进行排序

比如有一套楼栋数据如下:

直接对楼栋名称进行order by是没有效果的,因为目标字段是字符型

思路:

获取楼栋名称中的数字,对数字进行排序

解决方案:

创建mysql函数 GetNum(field)

DELIMITER $$
 
CREATE FUNCTION GetNum (Varstring varchar(50))
RETURNS varchar(30)
BEGIN
DECLARE v_length INT DEFAULT 0;
DECLARE v_Tmp varchar(50) default '';
set v_length=CHAR_LENGTH(Varstring);
WHILE v_length > 0 DO
IF (ASCII(mid(Varstring,v_length,1))>47 and ASCII(mid(Varstring,v_length,1))<58 )   THEN
set v_Tmp=concat(v_Tmp,mid(Varstring,v_length,1));
END IF;
SET v_length = v_length - 1;
END WHILE;
RETURN REVERSE(v_Tmp);
END$$
 
DELIMITER ;
调用 GetNum(field) 函数,并没有实现按数字排序

原因是因为GetNum(field)得到的结果也是字符型,所以要+0转化为int类型实现排序

 
 

https://www.cnblogs.com/heyonggang/p/8117754.html

Mysql字符串截取总结:left()、right()、substring()、substring_index()

同步首发:https://yuanrengu.com/2020/9cfe2ad6.html

在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处理这些需求,如Mysql字符串截取总结:left()、right()、substring()、substring_index()。

一.从开始截取字符串

用法:left(str, length),即:left(被截取字符串, 截取长度)

SELECT LEFT('www.yuanrengu.com',8)

结果为:www.yuan

二.从开始截取字符串

用法:right(str, length),即:right(被截取字符串, 截取长度)

SELECT RIGHT('www.yuanrengu.com',6)

结果为:gu.com

三.截取特定长度的字符串

用法:

  • substring(str, pos),即:substring(被截取字符串, 从第几位开始截取)
  • substring(str, pos, length),即:substring(被截取字符串,从第几位开始截取,截取长度)

1.从字符串的第9个字符开始读取直至结束

SELECT SUBSTRING('www.yuanrengu.com', 9)

结果为:rengu.com

2.从字符串的第9个字符开始,只取3个字符

SELECT SUBSTRING('www.yuanrengu.com', 9, 3)

结果为:ren
3.从字符串的倒数第6个字符开始读取直至结束

SELECT SUBSTRING('www.yuanrengu.com', -6)

结果为:gu.com

4.从字符串的倒数第6个字符开始读取,只取2个字符

SELECT SUBSTRING('www.yuanrengu.com', -6, 2)

结果为:gu

四.按关键字进行读取

用法:substring_index(str, delim, count),即:substring_index(被截取字符串,关键字,关键字出现的次数)

1.截取第二个“.”之的所有字符

SELECT SUBSTRING_INDEX('www.yuanrengu.com', '.', 2);

结果为:www.yuanrengu

2.截取倒数第二个“.”之的所有字符

SELECT SUBSTRING_INDEX('www.yuanrengu.com', '.', -2);

结果为:yuanrengu.com

3.如果关键字不存在,则返回整个字符串

SELECT SUBSTRING_INDEX('www.yuanrengu.com', 'sprite', 1);

结果为:www.yuanrengu.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-35499.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

前端类库开发最佳实践

Yarn Lerna Rollup 示例项目 Yarn 通过使用 Yarn 的工作区功能&#xff0c;让 Yarn 根据就依赖关系帮助你分析所有子项目的公共依赖&#xff0c;让所有的子项目的公共依赖只会被下载和安装一次。 Lerna 通过 Lerna 可以将一系列相互耦合比较大、又相互独立的库进行管理&…...

shell 的关联数组

shell 的关联数组 引言 shell也有Map的数据结构&#xff0c;哈哈哈&#xff0c;是挺高大上的。万能的shell。。。。 万恶的mac&#xff0c;sed和linux不一样&#xff0c;关联数组和linux也不要一样。要你干啥&#xff01;&#xff01;&#xff01; 一个需求的处理 感谢这个…...

信息安全工程师笔记-网络攻击常见技术

前言 前面说了端口扫描技术&#xff0c;这次笔记再来补充下其他技术。 口令破解 1.建立与目标网络服务的网络连接&#xff1b; 2.选取用户列表文件及字典文件&#xff1b; 3.在用户列表文件及字典文件中&#xff0c;选取组用户和口令&#xff0c;按网络服务协议规定&#x…...

Cookie对象的使用

Cookie对象是做什么的&#xff1f; 在我的理解里&#xff0c;Cookie是客户端用来和客户端保持通讯信息的一个对象。 怎样使用Cookie 使用一个对象&#xff0c;很显然我们要先创建他 Cookie cookie new Cookie(name, value); 然后用res对象将Cookie发送给客户端 res.addCookie…...

jspdf本地运行环境正常,打包后下载的pdf不全

最近开发过程中遇到个问题&#xff0c;用jspdf配合html2canvas把页面元素下载为pdf文件&#xff0c;在本地运行环境好好的&#xff0c;但是打包之后下载的pdf就是不全的&#xff0c;搜了好久也没找出什么对症的解决方案。 现象就是这样&#xff1a; 正常的文件&#xff1a; 有…...

12013.ADC779x采集芯片

文章目录1 AD7997 特征2 管脚描述3 I2C地址确定3 内部寄存器结构3.1 内部结存器结构3.2 配置寄存器3.3 转换结果寄存器3.4 数据寄存器3.5 Hysteresis Register (CH1/CH2/CH3/CH4) 迟滞寄存器3.6 CYCLE TIMER REGISTER 循环计时寄存器3.7 SAMPLE DELAY AND BIT TRIAL DELAY 样本…...

实训项目-白金手册(个人信息管理系统)

实训项目-个人信息管理系统 文章目录实训项目-个人信息管理系统前言一、前期相关准备1、 编译软件安装2、 基本技术掌握2.1、 信息存储2.1.1、 临时存储2.1.2、 长期存储2.2、 查找排序2.3、 线性表操作2.4、 文件操作2.5、 代码书写规范二、需求分析三、难点疑点分析1、实现读…...

关于在vue2.0中使用wangeditor富文本的一些问题

1.先下载相关依赖 npm install wangeditor 2. 引入相关包 import E from "wangeditor"; 3.注册相关内容 name: "picLibraryDetail", 4.相关代码如下&#xff1a; import E from "wangeditor"; export default {name: "picLibraryDetai…...

C++ ---仅仅翻转字符

仅仅翻转字符 题目描述&#xff1a; 给定一个字符串 S&#xff0c;返回 “反转后的” 字符串&#xff0c;其中不是字母的字符都保留在原地&#xff0c;而所有字母的位置发生反转。 题目来源&#xff1a;力扣 class Solution { public:bool IsLetter(char ch){if((ch >a&a…...

mybatis-generator自定义TypeHandler进行加密解密

背景&#xff1a;公司需要将部分验证码进行加密入库&#xff0c;查询的时候解密。 初始时&#xff1a;在每次的逻辑代码中&#xff0c;涉及到该字段的新增&#xff0c;修改&#xff0c;都需要对指定字段进行加密。查询的时候对字段进行解密(缺点&#xff1a;可维护性太差) 改…...

线性封闭区域2D刀路讲解

在学习UG教程的过程中往往要学习UG编程&#xff0c;想尽快速成&#xff0c;可以按照下面UG编程学习步骤&#xff1a; 步骤1、装上编程软件-UG&#xff0c;我们尽量装NX10.0版本&#xff0c;因为它是一个很稳定的一个版本&#xff0c; 步骤2、装上UG的最佳伙伴-优品外挂&#…...

慢慢学习,然后惊呆所有人(八,异常)

目录 ​ 什么是异常&#xff1f; 错误和异常的区别 异常的处理 try语法块&#xff1a; 抓捕异常&#xff1a; 多行异常的处理&#xff1a; 查看出现的异常情况 ​ 自定义异常和抛出异常 Java中异常继承关系 异常抛出&#xff1a; 自定义异常&#xff1a; finall…...

并查集(Union Find)

算法背景 Union Find算法&#xff0c;中文并查集。主要用来解决图论中的连通判断问题&#xff0c;简单抽象问题为&#xff1a; 平面上有n个点给定他们之间两两连接关系 要求输入任意两个点&#xff0c;判断他们是否能够有一条路径联通 算法步骤 一旦有连接&#xff0c;就把…...

TCP/IP网络协议以及Android网络优化方案

引用文章地址&#xff1a;TCP/IP网络协议 文章目录TCP/IPTCP/IP 模型TCP 和 UDPTCP怎么保证传输过程的可靠性&#xff1f;TCP 为什么要三次握手/四次挥手网页请求一个 URL 的流程DNS 工作原理HTTPS 加密原理移动端如何优化一个网络请求呢&#xff1f;DNS 优化CacheControlQ&…...

单季度开出162家新店,被疫情拖累的名创优品继续破局?

名创优品还没有完全脱离疫情的困扰。 北京时间8月19日美股盘前&#xff0c;名创优品发布了截至2021年6月30日的2021财年第四季度财报和全年财报&#xff0c;第四季度全球店铺数量虽然继续逆势增长&#xff0c;但具体的财务指标走向各异&#xff0c;与疫情前的水平差距不一。 …...

webSocket服务端与客户端消息通讯

一、WebSocket是HTML5出的东西&#xff08;协议&#xff09;&#xff0c;也就是说HTTP协议没有变化&#xff0c;或者说没关系&#xff0c;但HTTP是不支持持久连接的&#xff08;长连接&#xff0c;循环连接的不算&#xff09; 首先HTTP有1.1和1.0之说&#xff0c;也就是所谓的k…...

JavaScript 字面值对象的一些基本方法

展开运算符的使用 //构造字面量对象时使用展开语法 let person {name:tom,age:18} let person2 {...person} //展开运算符展开对象属性时&#xff0c;只能在对象中进行展开 //console.log(...person); //报错&#xff0c;展开运算符不能直接展开对象 console.log(我是perso…...

Vue 虚拟列表,纵享丝滑

转载文章&#xff1a;https://juejin.cn/post/6937939870018961439...

文华财经指标软件指标博易大师软件指标公式

CDJZ:ABS(MA(C,N3)-MA(C,120))/MA(C,120) < 0.5; 阶段卖出: 3.2,COLORLICYAN; 清仓卖出: 3.5,COLOR0088FF,DOTLINE; STICKLINE(动力线 > REF(动力线,1) ,动力线 ,REF(动力线,1),3 ,1),COLORRED; STICKLINE(动力线 <REF(动力线,1) ,动力线 ,REF(动力线,1),3 ,1),CO…...

元力参堂:《披荆斩棘的哥哥》一经上线,能否带动芒果TV会员数增长

随着芒果TV《披荆斩棘的哥哥》大热&#xff0c;播放量就占据了综艺热度榜榜首。芒果超媒发布了2021年半年报&#xff0c;公司2021年1-6月实现营业收入78.53亿元&#xff0c;同比增长36.02%。从财报来看&#xff0c;芒果超媒营收的增长&#xff0c;主要还是来源于其主要业务芒果…...

设计模式----设计原则

设计原则...

非常详细的NumPy教程(转载)

转载自https://www.jianshu.com/p/57e3c0a92f3a NumPy - 简介 NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。 Numeric&#xff0c;即 NumPy 的前身&#xff0c;是由 Jim Hugunin 开发的。 也开发了另一个…...

linux下使用apt命令安装jdk

1、使用命令搜索相关安装包&#xff1a; sudo apt-cache search jdk2、找到自己要安装的版本&#xff0c;本次以jdk1.8为例&#xff0c;使用命令安装&#xff1a; sudo apt-get install openjdk-8-jdk...

01-课程准备工作

创建空工程 在idea中创建一个空工程就相当于创建了一个空的目录,可以将这个目录看成是一个工作区.例如: 基础环境配置 JDK ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210719110251549.png Maven 推荐使用3.6以上版本,例如: File Encoding 一般创建完一个工程都要…...

为什么gitignore不起作用?

https://developer.aliyun.com/article/634481...

贝叶斯分类器

贝叶斯理论 连续、离散特征处理 朴素贝叶斯分类器 半朴素贝叶斯分类器 贝叶斯理论 在我们学习概率论课程中&#xff0c;基本上处处暗含着贝叶斯理论的身影。贝叶斯理论简单说可以是一种概率转化的方法&#xff0c;将一种较难求得的相关概率转化为几个较容易求得的概率乘积…...

ubuntu-14.10下,安装gcc交叉编译器遇到问题及解决方法

ubuntu-14.10下&#xff0c;安装gcc交叉编译器遇到问题及解决方法参考文章&#xff1a; &#xff08;1&#xff09;ubuntu-14.10下&#xff0c;安装gcc交叉编译器遇到问题及解决方法 &#xff08;2&#xff09;https://www.cnblogs.com/dylancao/p/6041580.html 备忘一下。...

《炬丰科技-半导体工艺》LED 封装工艺

书籍&#xff1a;《炬丰科技-半导体工艺》 文章&#xff1a;&#xff2c;&#xff25;&#xff24; 封装工艺 编号&#xff1a;JFKJ-21-302 作者&#xff1a;炬丰科技 摘要 发光二极管具有电光转换效率高、节能环保、体积小等优点&#xff0c;被誉为21世纪绿色照明光源.随着…...

为何要打印日志?C++在高并发下如何写日志文件(附源码)?

为何要打印日志&#xff1f;让程序裸奔不是一件很快乐的事么&#xff1f; 有些BUG就像薛定谔的猫&#xff0c;具有波粒二象性&#xff0c;当你试图去观察它时它就消失了&#xff0c;当你不去观察它时&#xff0c;它又会出现。当你在测试人员面前赌咒发誓&#xff0c;亲自路演把…...

为什么template必须有且只能有一个div呢?

单文件组件   当我们在vue-cli脚手架搭建的vue开发环境下使用单文件组件时&#xff0c;一般会这么写&#xff1a; <template><div class"box">这里是页面内容</div> </template>如果我们尝试在template标签下写两个div&#xff0c;那么编…...

【编程题】【Scratch四级】2022.09 绘制图形

绘制图形 1. 准备工作 &#xff08;1&#xff09;默认小猫角色&#xff0c;默认白色背景。 2. 功能实现 &#xff08;1&#xff09;绘制出如上图所示图案&#xff0c;图形的中心在舞台中心点&#xff1b; &#xff08;2&#xff09;图形由12条蓝红相间&#xff0c;长度为80…...

咸鱼ZTMR实例—人体红外

咸鱼ZTMR实例—人体红外工作原理&#xff1a; 人体都有恒定的体温&#xff0c;一般在37度&#xff0c;所以会发出特定波长10UM左右的红外线&#xff0c;被动式红外探头就是靠探测人体发射的10UM左右的红外线而进行工作的。人体发射的10UM左右的红外线通过菲泥尔滤光片增强后聚集…...

软考高项 : (07)论项目的质量管理

7[论文]论项目的质量管理 现代项目管理中非常重视质量管理&#xff0c;很多个人和组织将质量作为判定项目是否成功为重要依据。在IT业界&#xff0c;有很多知名公司将质量提高到了公司战略的高度来对特&#xff0c;并投入大量资源用于质量管理。 请围绕“项目的质量管理”论题&…...

数据管理-数据质量检测

目录数据质量检测完整性一致性准确性及时性数据质量检测 数据质量是保证数据应用的基础&#xff0c;它的评估标准主要包括四个方面&#xff1a;完整性、一致性、准确性、及时性。评估数据是否达到预期设定的质量要求&#xff0c;就可以通过这四个方面来进行判断。 完整性 完…...

软考信息系统项目管理师质量管理高分论文赏析

摘要&#xff1a; 2013年1月&#xff0c;我作为项目经理参与了某省电力公司一体化综合运维管理项目的建设。该项目以IT资源配置管理为中心&#xff0c;通过构建可灵活扩展的CMDB配置库&#xff0c;实现贯穿IT运维周期的运维管理体系&#xff0c;通过资源管理、综合监控、服务管…...

JSP JDBC访问数据库

态网页的主要特点就是能及时更新数据&#xff0c;这些更新的数据来源于数据库。学习本节内容需要您了解 JDBC&#xff0c;可以使用 JDBC 连接 MySQL 数据库。 本节数据库使用 MySQL 5.7&#xff0c;你可以点击 MySQL 官方网站 下载相应的 jar 包。 注意&#xff1a;MySQL 8.0 及…...

HDFS数据恢复模式

在现有的HDFS中&#xff0c;为了保证元数据的高可用性&#xff0c;我们可以在配置项dfs.namenode.name.dir中配置多个元数据存储目录来达到多备份的作用。这样一来&#xff0c;如果其中一个目录文件损坏了&#xff0c;我们可以选择另外可用的文件。那么问题来了&#xff0c;如果…...

cocos2d-x 游戏 之 Tiled Map Editor(地图编辑)

转载于&#xff1a;http://blog.csdn.net/zhy_cheng/article/details/8308609 Tiled Map Editor是Cocos2d-x支持的地图编辑器&#xff0c;使用Tiled编辑出的地图可以很方便的被Cocos2d-x使用Tiled的官网是Tiled Map Editor。我使用的地图编辑器是QT版本。 好了&#xff0c;下面…...

Linux UART编程 驱动蓝牙芯片

在熟悉了UART概念后&#xff0c;我们要学以致用&#xff0c;在Linux用起来来驱动起来蓝牙芯片&#xff01; 我们直接借用man来看下&#xff0c;命令如下&#xff1a; man termios 1.头文件引用 #include <termios.h> #include <unistd.h> 2.串口打开关闭 open…...

连接远程Redis服务器超时

连接远程Redis服务器超时 问题 在本地java应用中&#xff0c;连接服务器的Redis失败&#xff0c;提示连接超时。远程服务器上可以登陆&#xff0c;也已经开放相应的端口&#xff0c;但提示连接超时。 解决 1.找到Redis服务启动时的配置文件&#xff0c;并打开2.找到bind 12…...

远程连接 腾讯云 redis 服务器

今天有需求&#xff0c;本地远程连接 腾讯云redis 服务器&#xff0c;服务器运维知识有限&#xff0c;搜索了不少文章&#xff0c;总算尝试出来了&#xff0c;记录下。(模模糊糊记得之前好像操作 aliyun 就做过类似这种的)参考文章&#xff1a;https://cloud.tencent.com/devel…...

SpringBoot整合redis(StringRedisTemplate),操作一个redis服务器的多个库

介绍 在SpringBoot中一般使用RedisTemplate提供的方法来操作Redis SpringBoot 2.x后 &#xff0c;原来底层使用的 Jedis 被 lettuce[赖忒死] 替换。所以在springboot中引入spring-boot-starter-data-redis依赖时&#xff0c;默认使用的时Lettuce。 jedis&#xff1a;采用的直…...

【解决】RESP.app GUI for Redis 连接不上redis服务器

我的情况是&#xff1a;linux的防火墙端口没有开启 可以使用 firewall-cmd --zonepublic --list-ports 查询开放了哪些防火墙端口 比如我的redis是使用6379端口。则我需要开放 6379/tcp 操作如下&#xff1a; firewall-cmd --add-port6379/tcp --permanent firewall-cmd -…...

剖析Redis服务器

Redis服务器负责与多个客户端建立网络连接&#xff0c;处理客户端发送的命令请求&#xff0c;在数据库中保存客户端执行命令所产生的数据&#xff0c;并通过资源管理来维持服务器自身的运转。1.命令请求的执行过程 发送命令请求&#xff1a; 1、服务器的命令请求来自客户端&am…...

【Redis实现系列】RedisServer实现

RedisServer 请求处理 (文件事件) 命令请求执行过程&#xff1a;即 processFileEvents 里读事件处理器的主要操作 发送命令请求 Redis服务器的命令请求来自Redis客户端&#xff0c;当用户在客户端中键入一个命令请求时&#xff0c;客户端会将这个命令请求转换成协议格式&am…...

数据库缓存服务器——Redis(入门级)

目录 一、缓存服务器简介 1、NoSQL 2、NoSQL的优点/缺点 3、关系型数据库 二、Redis简介 1、redis软件获取和帮助 2、redis的特点 三、Redis部署 1、编译安装 2、yum安装redis 四、Redis使用 1、redis相关工具 2、redis配置文件 3、数据持久化 1、RDB方式 2、AOF…...

(17)Redis 服务器

Redis 服务器 Redis 服务器命令主要是用于管理 redis 服务。 实例 以下实例演示了如何获取 redis 服务器的统计信息&#xff1a; redis 127.0.0.1:6379> INFO# Server redis_version:2.8.13 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:c2238b38b1edb0e2…...

SpringBoot_整合Mybatis-plus

一、入门案例 1.准备表结构和数据 准备如下的表结构和相关数据 DROP TABLE IF EXISTS user; ​ CREATE TABLE user (id BIGINT(20) NOT NULL COMMENT 主键ID,name VARCHAR(30) NULL DEFAULT NULL COMMENT 姓名,age INT(11) NULL DEFAULT NULL COMMENT 年龄,email VARCHAR(50) …...

技巧1:利用中国科技云通行证登录IEEE Xplore下载论文

说明 该方法所用工具为中科院研发产品&#xff0c;安全性、稳定性相对较高方法具有时效性&#xff0c;可能是由于新冠疫情才可用该方法理论上也能登录其他数据库&#xff0c;但是可能由于中科院服务器有问题&#xff0c;其他数据库暂时不能访问更新时间&#xff1a;2020-03-18…...

科技云报道:2021 CES备受瞩目的5G,是真火还是虚火?

科技云报道原创。 一年一度的CES&#xff08;国际消费电子展&#xff09;如期而至&#xff0c;但受到疫情影响&#xff0c;这次展会改为全数字化的形式&#xff0c;于1月11日至14日在线上举行。 正如预期的那样&#xff0c;今年CES出现了不少与5G相关的科技产品。其中&#xf…...