mysql 拼接字符串,截取字符串 常用方式

1,拼接字符串常用:CONCAT(‘需要拼接的字符串’,列名)

select a.UserState,a.OrgUserId,a.UserName,
CONCAT('+',b.Telephone),b.AreaCode 
from T_UserInfo b 
inner join T_User a on a
.UserId=b.UserId and 
a.UserName!='admin' and a.UserState!='Resigned'

CONCAT('+',b.Telephone)查询出号码,前边加上+号

2,分割字符串

select a.UserState,a.OrgUserId,a.UserName,
substring_index(b.Telephone,'+',1),b.AreaCode from T_UserInfo b 
inner join T_User a on 
a.UserId=b.UserId and a.UserName!='admin' 
and a.UserState!='Resigned' and b.Telephone like '%34+%'

substring_index(b.Telephone,'+',1) 用从左往右的第一个+分割电话号码,获取分割后的从左往右的第一个字符串

比如 86+133333333 执行完后 为 86

substring_index(b.Telephone,'+',-1) 用从右往左的第一个+分割电话号码,获取分割后的从右往左的第一个字符串

比如 86+133333333 执行完后 为 133333333

分割还有这些:

left()

Name: 'LEFT'
Description:
Syntax:
LEFT(str,len)Returns the leftmost len characters from the string str, or NULL if any
argument is NULL.URL: https://dev.mysql.com/doc/refman/5.7/en/string-functions.htmlExamples:
mysql> SELECT LEFT('foobarbar', 5);-> 'fooba'##该函数从最左侧开始向右截取字符串,截取 len 指定的字符后停止,例如上面的例子中 len 为5,所以从最左侧开始向右截取5个字符

right()

Name: 'RIGHT'
Description:
Syntax:
RIGHT(str,len)Returns the rightmost len characters from the string str, or NULL if
any argument is NULL.URL: https://dev.mysql.com/doc/refman/5.7/en/string-functions.htmlExamples:
mysql> SELECT RIGHT('foobarbar', 4);-> 'rbar'##该函数从最右侧开始往左截取字符串,截取 len 指定的字符后停止,例如上面的例子中 len 为4,所以从最右侧开始向左截取4个字符

substring()

Name: 'SUBSTRING'
Description:
Syntax:
SUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len),
SUBSTRING(str FROM pos FOR len)The forms without a len argument return a substring from string str
starting at position pos. The forms with a len argument return a
substring len characters long from string str, starting at position
pos. The forms that use FROM are standard SQL syntax. It is also
possible to use a negative value for pos. In this case, the beginning
of the substring is pos characters from the end of the string, rather
than the beginning. A negative value may be used for pos in any of the
forms of this function. A value of 0 for pos returns an empty string.For all forms of SUBSTRING(), the position of the first character in
the string from which the substring is to be extracted is reckoned as
1.URL: https://dev.mysql.com/doc/refman/5.7/en/string-functions.htmlExamples:
mysql> SELECT SUBSTRING('Quadratically',5);-> 'ratically'
mysql> SELECT SUBSTRING('foobarbar' FROM 4);-> 'barbar'
mysql> SELECT SUBSTRING('Quadratically',5,6);-> 'ratica'
mysql> SELECT SUBSTRING('Sakila', -3);-> 'ila'
mysql> SELECT SUBSTRING('Sakila', -5, 3);-> 'aki'
mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);-> 'ki'##该函数从pos参数指定位置开始向右截取 len 参数指定的字符个数(len 如果不指定,则截取到最后一个字符)。如果 pos 指定的是正数,则位置从左往右计数。如果pos指定的负数,则位置从由往左数。from 和 for 关键字可以用逗号代替

substring_index()

Name: 'SUBSTRING_INDEX'
Description:
Syntax:
SUBSTRING_INDEX(str,delim,count)Returns the substring from string str before count occurrences of the
delimiter delim. If count is positive, everything to the left of the
final delimiter (counting from the left) is returned. If count is
negative, everything to the right of the final delimiter (counting from
the right) is returned. SUBSTRING_INDEX() performs a case-sensitive
match when searching for delim.URL: https://dev.mysql.com/doc/refman/5.7/en/string-functions.htmlExamples:
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);-> 'www.mysql'
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);-> 'mysql.com'##该函数截取指定的第几个分隔符之前的字符串,
第二个参数用来指定分隔符,第三个参数指定第几个分隔符。如果count 为正数,
从左往右计算分隔符个数,截取指定分隔符之前的所有字符。
如果count 为负数,则从右往走计算分隔符个数,截取指定分隔符及之后的所有字符

以上具体例子

1)从第三个字符开始截取直到结束
[root@127.0.0.1][information_schema][04:42:28]> select substring('www.mysql.com',3);
+------------------------------+
| substring('www.mysql.com',3) |
+------------------------------+
| w.mysql.com                  |
+------------------------------+
1 row in set (0.00 sec)2) 从第三个字符开始截取,一共截取6个字符
[root@127.0.0.1][information_schema][04:42:38]> select substring('www.mysql.com',3,6);
+--------------------------------+
| substring('www.mysql.com',3,6) |
+--------------------------------+
| w.mysq                         |
+--------------------------------+
1 row in set (0.00 sec)3) 从倒数第三个字符开始截取,直到结束(截取的时候从左往右)
[root@127.0.0.1][information_schema][04:42:43]> select substring('www.mysql.com',-3);
+-------------------------------+
| substring('www.mysql.com',-3) |
+-------------------------------+
| com                           |
+-------------------------------+
1 row in set (0.00 sec)4) 截取第一个指定字符/字符串之前所有字符
[root@127.0.0.1][information_schema][04:43:01]> select substring_index('www.mysql.com','.',1);
+----------------------------------------+
| substring_index('www.mysql.com','.',1) |
+----------------------------------------+
| www                                    |
+----------------------------------------+
1 row in set (0.00 sec)5) 截取倒数第二个字符串之后所有的字符
[root@127.0.0.1][information_schema][04:43:30]> select substring_index('www.mysql.com','.',-2);
+-----------------------------------------+
| substring_index('www.mysql.com','.',-2) |
+-----------------------------------------+
| mysql.com                               |
+-----------------------------------------+
1 row in set (0.00 sec)6) 如果指定的分隔符不存在,则输出整个字符串
[root@127.0.0.1][information_schema][04:44:00]> select substring_index('www.mysql.com','/',-2);
+-----------------------------------------+
| substring_index('www.mysql.com','/',-2) |
+-----------------------------------------+
| www.mysql.com                           |
+-----------------------------------------+
1 row in set (0.00 sec)7)截取最后一个指定字符之前所有的字符
[root@127.0.0.1][information_schema][04:44:15]> select REVERSE(SUBSTR(REVERSE("/data/mysql/mysql3306/log/3306-bin") , INSTR(REVERSE("/data/mysql/mysql3306/log/3306-bin"),'/')+1));
+-----------------------------------------------------------------------------------------------------------------------------+
| REVERSE(SUBSTR(REVERSE("/data/mysql/mysql3306/log/3306-bin") , INSTR(REVERSE("/data/mysql/mysql3306/log/3306-bin"),'/')+1)) |
+-----------------------------------------------------------------------------------------------------------------------------+
| /data/mysql/mysql3306/log                                                                                                   |
+-----------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

02-状态模式

1 意图 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。(这里的对象指的就是模型中的Context,行为指的就是State的子类) 2 动机 考虑一个问题:实现一个表示网络连接的类TCPConnection&am…

Java课设--学生信息管理系统(例2)

文章目录 前提一、运行效果二、代码获取 前言 首先确定自己的JDBC连接数据库已经完成,不懂可以看看其他博主的解析。 我使用的是SQL Server数据库,数据库名称为stu,账号为sa,密码为123456 数据库的表为student表,内容如下: 一、…

Linux 信号signal处理机制

Signal机制在Linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制是具体如何实现的。signal机制可以被理解成进程的软中断,因此,在实时性方面还是相对比较高的。Linux中signal机制的模型可以采用下图进行描述。 每个进程…

Selenium自动化测试框架的搭建

说 起自动化测试,我想大家都会有个疑问,要不要做自动化测试? 自动化测试给我们带来的收益是否会超出在建设时所投入的成本,这个嘛别说是我,即便是高手也很难回答,自动化测试的初衷是美好的,而测…

.gitkeep介绍

最近在nand flash上创建可读写分区的时候涉及到了.gitkeep,了解了一下。 .gitkeep 文件的作用 .gitkeep 这个文件并不是一个多么复杂 ,相反,它的意图,或者说作用,其实非常简单!就是—使 Git 保留一个空文…

ELK、ELFK日志分析系统

菜单一、ELK简介1.1 ELK组件说明1.1.1 ElasticSearch1.1.2 Kiabana1.1.3 Logstash 1.2 可以添加的其它组件1.2.1 Filebeat1.2.2 缓存/消息队列(redis、kafka、RabbitMQ等)1.2.3 Fluentd 1.3 为什么要用ELK1.4 完整日志系统的基本特征1.5 ELK 的工作原理 …

Linux初识网络基础

目录 网络发展 认识“协议 ” 网络协议 OSI七层模型: TCP/IP五层(或四层)模型 网络传输基本流程 网络传输流程图: 数据包封装和封用 网络中的地址 认识IP地址: 认识MAC地址: 网络发展 1.独立…

【云原生】Docker-compose中所有模块学习

compose模块 模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部分指令跟 docker run 相关参数的含义都是类似的。 默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。 version: "3&quo…

STM32单片机蓝牙APP宠物自动喂食器定时语音提醒喂食系统设计

实践制作DIY- GC00162---蓝牙APP宠物自动喂食器 一、功能说明: 基于STM32单片机设计---蓝牙APP宠物自动喂食器 二、功能说明: STM32F103C系列最小系统板LCD1602显示器DS1302时钟模块5个按键语音播报模块ULN2003步进电机模块LED灯板HC-05蓝牙模块&#x…

深入探究性能测试:从原理到实践

引言 在软件开发领域,性能测试是一个关键的环节。它可以帮助开发者评估系统的稳定性和响应能力,找出潜在的性能瓶颈,并为系统的优化提供数据支持。本篇博客将介绍性能测试的基本原理和常用方法,并通过一个实际案例来演示如何编写性能测试代码。 什么是性能测试? 性能测…

检查网站是HTTP那种协议与获取域名的ipv6地址

前言 最近在做HTTPS的应用,可能需要使用ipv6的地址做SLB,但是怎么检查配置正确,总不能每次都看日志吧,实际上客户端也很容易查看,总结工作经验。 检查HTTP协议版本 笔者想到了使用浏览器方式,或者抓包&a…

JS实现节流与防抖

前言:节流和防抖就是为了减少性能开销和提升用户体验而生的,主要优化【接口暴击】【表单重复提交】【搜索框搜索输入】等相关问题; 节流 定义:当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才…

如何使用伪元素::before和::after?

伪元素(::before和::after)是CSS中非常有用的特性,它们允许你在元素的内容之前或之后插入额外的内容,并且不需要在HTML结构中添加额外的标记。这样可以方便地在页面上添加装饰性元素、图标、或者样式效果。以下是使用伪元素的基本方法: 1、创…

春秋云镜 CVE-2020-26042

春秋云镜 CVE-2020-26042 Hoosk CMS v1.8.0 存在sql注入漏洞 靶标介绍 Hoosk CMS v1.8.0 install/index.php 存在sql注入漏洞。 启动场景 漏洞利用 SQL注入POC POST /install/index.php HTTP/1.1 Host: xxxx User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; r…

android Native C++打印堆栈

记录一下Android堆栈打印方法,程序运行堆栈在分析代码运行逻辑中非常有用 1.在要打印堆栈的模块中添加libutilscallstack、libutils两个共享库依赖,有可能是Android.mk,也有可能是Android.bp Android.bp: cc_defaults {name: &qu…

如何使用 ChatGPT 规划家居装修

你正在计划家庭装修项目,但不确定从哪里开始?ChatGPT 随时为你提供帮助。从集思广益的设计理念到估算成本,ChatGPT 可以简化你的家居装修规划流程。在本文中,我们将讨论如何使用 ChatGPT 有效地规划家居装修,以便你的项…

Ajax入门

文章目录 axios体验axios-查询参数常用请求方法数据提交 axios错误处理 axios体验 引入axios库 使用axios语法 axios({url: 目标资源地址 }).then((result)>{// 对服务器返回的数据做后续处理 })完整实例 <!DOCTYPE html> <html lang"en"><head&g…

Golang空结构体struct{}的作用是什么?

文章目录 占位符&#xff1a;通道标识&#xff1a;键集合&#xff1a;内存占用优化&#xff1a;总结&#xff1a; 在Go语言中&#xff0c;空结构体 struct{}是一种特殊的数据类型&#xff0c;它不占用任何内存空间。空结构体没有任何字段&#xff0c;也没有任何方法。尽管它看起…

vb+SQL电子教务系统设计与实现

摘 要 电子教务管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立数据一致性和完整性强,数据安全性好的数据库.而对于后者则要求应用程序功能完备,易使用等特点。在学校,教务信息包括教师信息、学生…

Linux文本处理工具和正则表达式

Linux文本处理工具和正则表达式 一.查看、截取和修改文本的工具 1.查看文本的工具 cat 最常用的文件查看命令&#xff1b;当不指明文件或者文件名为一杠’-时&#xff0c;读取标准输入。 cat [OPTION]... [FILE]... -A&#xff1a;显示所有控制符(tab键:^I;行结束符:$) -…