SQL系列:常用函数

1、【MySQL】合并字段函数(列转行)

它可以将两个字段中的数据合并到一个字段中。

1)CONCAT函数

CONCAT函数可以将多个字段中的数据合并到一个字段中。它的语法格式如下:

复制代码
SELECT CONCAT(字段1,字段2,...字段N) FROM 表名;

SELECT CONCAT(name,age) FROM stu;
2)CONCAT_WS函数

CONCAT_WS函数是可以将多个字段中的数据合并到一个字段中,并且在合并的过程中可以指定分隔符。它的语法格式如下:

复制代码
SELECT CONCAT_WS(分隔符,字段1,字段2,...字段N) FROM 表名;

SELECT CONCAT_WS('-',name,age) FROM stu;
3)GROUP_CONCAT函数

GROUP_CONCAT函数可以将多个字段中的数据合并到一个字段中,并且在合并的过程中可以指定分隔符,而且它还可以根据指定的字段进行分组,从而使得合并的数据更加有序。它的语法格式如下:

复制代码
SELECT GROUP_CONCAT(字段1,字段2,...字段N ORDER BY 字段 SEPARATOR 分隔符) FROM 表名;


SELECT GROUP_CONCAT(name,age ORDER BY age SEPARATOR '-') FROM stu;

2、【MySQL】LOCATE函数详解

用于返回子字符串在主字符串中第一次出现的位置。如果子字符串不存在于主字符串中,函数将返回 0。位置索引从 1 开始计数。它的语法格式如下:

复制代码
LOCATE(substring, string, start)


#返回所有电子邮件地址包含 '@example.com' 的数据
SELECT name FROM stuWHERE LOCATE('@example.com', email) > 0;
  • substring:需要查找的子字符串。
  • string:主字符串,搜索的目标字符串。
  • start(可选):指定从主字符串的哪个位置开始搜索。默认为 1,即从字符串开头开始。
    注意:

1、该函数大小写敏感

2、在处理大量数据时,频繁使用 LOCATE 函数可能会影响查询性能。

3、如果传递给 LOCATE 函数的任何参数为 NULL,函数将返回 NULL

4、在多字节字符集中,LOCATE 函数可能需要正确处理字符编码,以确保准确定位

与其他函数相比较

  • LOCATE 和 **INSTR**都用于查找子字符串的位置,区别在于参数顺序和某些实现细节。
  • FIND_IN_SET 和 **FIELD**更适用于查找列表中的元素位置,而不是子字符串在字符串中的位置。

未完待续(用到时刻补充)。。。

相关推荐
TechWayfarer4 分钟前
IP精准定位服务在保险行业的接入实践:区域需求洞察与精准服务
数据库·python·tcp/ip·flask
KKKlucifer4 分钟前
数据分类分级产品排名解析:场景定制、规则联动、增量更新成核心能力
大数据·数据库·人工智能
minji...5 分钟前
MySQL数据库 (七) MySQL表的基本查询(上),insert、replace、select、where、order by
数据库·mysql·select·replace·insert·order by·where
金融RPA机器人丨实在智能11 分钟前
数据库运维Agent比价指南:国产自研产品适配国产数据库兼容性更好吗?
运维·数据库·人工智能·ai
IT策士12 分钟前
Redis 从入门到精通:持久化RDB 与 AOF
数据库·redis·缓存
gerrywhu1 小时前
【应用实践】PostGIS实现NDVI计算与植被覆盖分级统计分析-以武汉市2025年为例
数据库·postgis·栅格数据分析·st_mapalgebra·ndvi计算·植被覆盖分级统计·植被覆盖计算
QiLinkOS1 小时前
极客与商业思维的融合实践(1)
c语言·数据库·c++·人工智能·算法·开源协议
chushiyunen1 小时前
高斯数据库笔记、gaussDb
数据库·笔记
ZengLiangYi1 小时前
本地向量数据库选型:vectra vs chroma vs hnswlib
javascript·数据库·后端
TDengine (老段)2 小时前
TDengine 逻辑计划生成 — 从 AST 到关系代数算子树
大数据·数据库·物联网·wpf·时序数据库·tdengine·涛思数据