目录
引言:
数据库函数的总结(一)
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条件
示例: 如图所示
-> 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)
select * from 表1 where FIND_IN_SET(id, (select inspector from 表2 where id = 1));
3. 字符串合并(多条数据合并 用'、'分割)
GROUP_CONCAT()组合函数
GROUP_CONCAT(DISTINCT user.username SEPARATOR '、' )
-> 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函数解决了什么问题
数据处理:MySQL函数可以对数据进行处理和转换,比如对字符串进行分割、连接、替换、格式化等操作,对日期进行格式化、计算等操作,对数值进行计算、取整、保留小数等操作等。
数据验证:MySQL函数可以对数据进行验证和检查,比如对字符串进行长度、正则表达式等校验,对日期进行有效性检查,对数值进行范围、类型等校验等。
数据查询:MySQL函数可以用于查询和过滤数据,比如使用聚合函数计算数据的总和、平均值、最大值、最小值等,使用逻辑函数进行条件查询、排序、分页等操作。
数据转换:MySQL函数可以将不同数据类型进行转换,比如将字符串类型转换成数值类型或日期类型、将日期类型转换成字符串类型等。
列举几个常用函数
COUNT:计算指定表或表达式的行数。
SUM:计算指定表或表达式的和。
AVG:计算指定表或表达式的平均值。
MAX:计算指定表或表达式的最大值。
MIN:计算指定表或表达式的最小值。
CONCAT:将多个字符串连接成一个字符串。
SUBSTR:截取指定字符串的一部分字符子串。
DATE_FORMAT:将日期格式化为指定的字符串格式。
NOW:返回当前日期和时间。
IF:根据指定条件,选择不同的返回结果。