Mysql(函数) 字符串截取、拆分, 逗号分割字符串当做 in 的条件

这篇具有很好参考价值的文章主要介绍了Mysql(函数) 字符串截取、拆分, 逗号分割字符串当做 in 的条件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 引言: 

数据库函数的总结(一)

1. mysql截取拆分

2. 逗号分割的字符串 作为in条件

-> 2.1 正常的效果应该是 

---> 2.1.1 错误: 

3. 字符串合并(多条数据合并 用'、'分割)


 引言: 

数据库函数的总结(一)

1. 字符串截取、拆分

可以用于将用户输入的字符串按照特定的规则进行截取,比如获取电话号码中的区号、手机号码中的前三位等等

2. 逗号分割字符串当做 in 的条件

逗号分割的字符串可以作为分组数据的标识符,用于对数据进行分组和聚合操作

3. 字符串合并(多条数据合并 用'、'分割)

将不同的用户id转换成用户名 然后用 、分隔显示在一个字段上, 例如不同的操作人

1. mysql截取拆分

函数方法如下: 

SUBSTRING(str FROM pos FOR len)、

SUBSTRING(str FROM pos)、

SUBSTRING(str, pos)、

SUBSTRING(str, pos, len)

 没错 跟java的字符串截取方式一样, 字符串, 开始, 结尾

2. 逗号分割的字符串 作为in条件

 示例:  如图所示

Mysql(函数) 字符串截取、拆分, 逗号分割字符串当做 in 的条件

-> 2.1 正常的效果应该是 

select * from 表1 where id in(239,238)

---> 2.1.1 错误: 

select * from 表1 where id in(select inspector from 表2 where id = 1)

结果只显示一条

---> 2.1.2 正确: 

函数: FIND_IN_SET(str,strlist)

Mysql(函数) 字符串截取、拆分, 逗号分割字符串当做 in 的条件

 select * from 表1 where FIND_IN_SET(id, (select inspector from 表2 where id = 1));

3. 字符串合并(多条数据合并 用'、'分割)

 GROUP_CONCAT()组合函数

GROUP_CONCAT(DISTINCT user.username SEPARATOR '、' )

Mysql(函数) 字符串截取、拆分, 逗号分割字符串当做 in 的条件

-> 3.1 假设用户的字段存 22,23

---> 3.1.1 组合结果: (活动注册3、郭岩)

-> 3.2 sql语句 模板

	(
	SELECT
	GROUP_CONCAT( username SEPARATOR '、' ) FROM user 
	
	WHERE
	
	FIND_IN_SET(id,  (	SELECT user_ids	FROM	teacher 	WHERE	id = acqi.id ))
		
	)as studentName,

总结: mysql函数解决了什么问题

  1. 数据处理:MySQL函数可以对数据进行处理和转换,比如对字符串进行分割、连接、替换、格式化等操作,对日期进行格式化、计算等操作,对数值进行计算、取整、保留小数等操作等。

  2. 数据验证:MySQL函数可以对数据进行验证和检查,比如对字符串进行长度、正则表达式等校验,对日期进行有效性检查,对数值进行范围、类型等校验等。

  3. 数据查询:MySQL函数可以用于查询和过滤数据,比如使用聚合函数计算数据的总和、平均值、最大值、最小值等,使用逻辑函数进行条件查询、排序、分页等操作。

  4. 数据转换:MySQL函数可以将不同数据类型进行转换,比如将字符串类型转换成数值类型或日期类型、将日期类型转换成字符串类型等。

列举几个常用函数

  1. COUNT:计算指定表或表达式的行数。

  2. SUM:计算指定表或表达式的和。

  3. AVG:计算指定表或表达式的平均值。

  4. MAX:计算指定表或表达式的最大值。

  5. MIN:计算指定表或表达式的最小值。

  6. CONCAT:将多个字符串连接成一个字符串。

  7. SUBSTR:截取指定字符串的一部分字符子串。

  8. DATE_FORMAT:将日期格式化为指定的字符串格式。

  9. NOW:返回当前日期和时间。

  10. IF:根据指定条件,选择不同的返回结果。

 文章来源地址https://www.toymoban.com/news/detail-479589.html

到了这里,关于Mysql(函数) 字符串截取、拆分, 逗号分割字符串当做 in 的条件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL SERVER 把逗号隔开的字符串拆分成行

    表 目标:把车牌号单独成行,可过滤掉空字符串 查询语句 效果: 补充: 匹配字符串开始位置的函数CHARINDEX(str1,str,[start]) CHARINDEX(str1,str,[start])函数返回子字符串str1在字符串str中的开始位置,start为搜索的开始位置,如果指定start参数,则从指定位置开始搜索;如果不指定start参数

    2023年04月26日
    浏览(74)
  • 【MySQL】字符串截取函数 SUBSTR() 详解

    从指定位置开始的输入字符串返回一个子字符串。 SUBSTR() 函数的常用方法如下。 其中 字符串 可以是具体的字符串内容也可以是数据库的字段,或者字符串运算之后的内容。 起点和长度要求是整数,其中长度必须大于0。 1.返回起点之后的子字符串 2.返回从字符串末尾的第

    2024年02月10日
    浏览(71)
  • MYSQL: sql中某一个字段内容为用逗号分割的字符串转换成多条数据(适用于部分树机构)

    1.创建表的示例 数据如下图: SELECT a.id,SUBSTRING_INDEX(SUBSTRING_INDEX(a.userName,‘,’,b.help_topic_id+1),‘,’,-1) as name from tbl_name a left join mysql.help_topic b on b.help_topic_id (LENGTH(a.userName)-LENGTH(REPLACE(a.userName,‘,’,‘’))+1) ORDER BY a.id; 本人需求为 图层树的父级节点都在 ancestors 字段中,需要获取

    2024年02月11日
    浏览(69)
  • 【shell】字符串截取&替换&分割

    目录 一、字符串输出 二、字符串截取 1.根据下标截取 2.根据指定字符截取 (1)使用 # 截取指定字符右边的所有内容 (2)使用 % 截取指定字符左边的所有内容 三、字符串替换 1.替换一个(从左到右) 2.替换一个(从右到左) 3.替换所有 四、字符串分割 shell字符串可以用

    2024年01月20日
    浏览(46)
  • [开发|java] 将一个Java字符串按逗号分割成一个列表(List)

    可以使用Java的 split() 方法将字符串分割成字符串数组,然后将数组转换为列表。以下是一个示例代码: 输出 在上述代码中,我们使用 split(\\\",\\\") 方法将字符串 str 按逗号分割成一个字符串数组,然后使用 Arrays.asList() 方法将数组转换为列表。最后,我们打印输出列表的内容。

    2024年02月16日
    浏览(58)
  • mysql获取第一个逗号前面的字符串

    字符串内容如下: 想获取,第一个逗号前面的字符串,即:统编版(2019) 需要第一获取逗号的下标位置,然后再截取字符串 获取逗号的函数使用:LOCATE 结果如下:  然后使用 left 函数截取字符串,代码如下: 结果如下: 统编版(2019)

    2024年02月13日
    浏览(42)
  • mysql 拼接字符串,截取字符串 常用方式

    1,拼接字符串常用:CONCAT(‘需要拼接的字符串’,列名) CONCAT(\\\'+\\\',b.Telephone)查询出号码,前边加上+号 2,分割字符串 substring_index(b.Telephone,\\\'+\\\',1) 用从左往右的第一个+分割电话号码,获取分割后的从左往右的第一个字符串 比如 86+133333333 执行完后 为 86 substring_index(b.Telephone,\\\'+\\\',

    2024年02月14日
    浏览(50)
  • Mysql字符串截取

            从左边截取字符串 用法:left(str,length), 即:left(被截取字符串,截取长度)         结果:fuyi         从右边截取字符串 用法:right(str,length), 即:right(被截取字符串,截取长度)         结果:ghao         有两种用法:                 substring(s

    2024年02月07日
    浏览(60)
  • Hive字符串截取函数substr详解

    Hive中的substr函数可以用来截取字符串的一部分,并返回截取后的结果。该函数有三个参数:第一个参数是要截取的字符串,第二个参数是截取的起始位置(从1开始),第三个参数是截取的长度。 语法: substr(str, pos, len) 举个例子,假设有一个字符串 \\\"Hello World\\\" ,我们想截取

    2024年02月03日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包