mysql一行多串字符,逗号分割,取一个字符

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 学习分享

取逗号分隔第一个词:

1

select left(cover, LOCATE(',',cover)-1) from product_album


1、left(str, length):mysql左截取

2、LOCATE(substr,str):返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0

1. MySQL-locate()函数

判断字符串(string)中是否包含另一个字符串(subStr)

1

2

3

4

5

6

7

8

locate(subStr,string) :函数返回subStr在string中出现的位置

 

// 如果字符串 string 包含 subStr

locate(subStr,string) > 0

 

// 如果字符串 string 不包含 subStr

locate(subStr,string) = 0

使用方式


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

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

从左开始截取字符串

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

1

2

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个字符开始读取直至结束

1

2

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

结果为:rengu.com

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

1

2

SELECT SUBSTRING('www.yuanrengu.com'93)

结果为:ren

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

1

2

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

结果为:gu.com

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

1

2

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

结果为:gu

按关键字进行读取

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

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

1

2

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

结果为:www.yuanrengu

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

1

2

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

结果为:yuanrengu.com

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

1

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

3.取某个字段相同的条数在表中大于1条的数据

1

select count(1) from qyt_company_info t GROUP BY t.org_code HAVING count(1)>1;

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
存储 SQL 关系型数据库
MySQL Group 字段逗号链接
【4月更文挑战第26天】
|
7月前
|
SQL 存储 关系型数据库
MySQL 中将使用逗号分隔的字段转换为多行数据
在开发中,遇到逗号分隔字段的处理是常见问题。本文通过一个实际场景展示了如何改造数据存储:从单一字段存储多个页面(如`page1,page2,page3`)到使用新表`bus_pages`存储每个页面的详细配置。使用`SUBSTRING_INDEX`函数配合`help_topic`表(具有连续ID)拆分`bus_mark_info`表中的`pages`字段,按`help_topic_id`截取页面名称并插入新表。当`pages`字段超过701个页面时,需寻找其他辅助表。最终,数据成功迁移到新结构中,便于单独配置每个页面。
203 1
|
2月前
|
存储 关系型数据库 MySQL
MySQL 字符字段长度设置详解:语法、注意事项和示例
MySQL 字符字段长度设置详解:语法、注意事项和示例
221 0
|
4月前
|
关系型数据库 MySQL
MySQL——删除指定字符
MySQL——删除指定字符
44 1
|
5月前
|
关系型数据库 MySQL
mysql模糊查询指定根据第几个字符来匹配
mysql模糊查询指定根据第几个字符来匹配
232 1
|
7月前
|
存储 关系型数据库 MySQL
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
本篇文章来讨论MySQL字段的字符类型选择并深入实践char与varchar类型的区别以及在千万数据下的性能测试
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
|
6月前
|
分布式计算 DataWorks 关系型数据库
DataWorks操作报错合集之在数据集成到MySQL时,遇到特殊字符导致的脏数据如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
7月前
|
SQL 关系型数据库 MySQL
mysql 数据库查询 查询字段用逗号隔开 关联另一个表并显示
mysql 数据库查询 查询字段用逗号隔开 关联另一个表并显示
115 2
|
7月前
|
SQL 存储 关系型数据库
【mysql】将逗号分割的字段内容转换为多行并group by
【mysql】将逗号分割的字段内容转换为多行并group by
|
7月前
|
关系型数据库 MySQL
Mysql 查询以某个字符开头的语句和LIKE的使用
Mysql 查询以某个字符开头的语句和LIKE的使用
123 0